Facebook图形API-PHP-Can';不要张贴到某些页面
问题:为什么会出现此错误?我如何解决它?Facebook图形API-PHP-Can';不要张贴到某些页面,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,问题:为什么会出现此错误?我如何解决它? //Gets Facebook Token ID for use in facebook-poster.php session_start(); $app_id = "..."; $app_secret = "...."; $my_url = "......"; // redirect url $code = $_REQUEST["code"]; if(empty($code)) { // Redirec
//Gets Facebook Token ID for use in facebook-poster.php
session_start();
$app_id = "...";
$app_secret = "....";
$my_url = "......"; // redirect url
$code = $_REQUEST["code"];
if(empty($code)) {
// Redirect to Login Dialog
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); // CSRF protection
$dialog_url = "https://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
. $_SESSION['state'] . "&scope=publish_stream,publish_actions,read_friendlists,email";
echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
if($_SESSION['state'] && ($_SESSION['state'] === $_REQUEST['state'])) {
$token_url = "https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url)
. "&client_secret=" . $app_secret . "&code=" . $code;
$response = file_get_contents($token_url);
$params = null;
parse_str($response, $params);
$longtoken=$params['access_token'];
}
echo $longtoken;
?>
我正在使用Facebook图形API
对我已经在特定Facebook群组中创建的特定帖子发表回复/评论。我目前是该小组的成员,可以手动回复/评论我的帖子
该应用程序当前未在开发者界面中“运行”
80
中的39
一些奇怪的帖子给出了这个错误:
Array([error]=>Array([message]=>(#200)权限错误[type]=>OAutheException[code]=>200))
访问令牌代码
//Gets Facebook Token ID for use in facebook-poster.php
session_start();
$app_id = "...";
$app_secret = "....";
$my_url = "......"; // redirect url
$code = $_REQUEST["code"];
if(empty($code)) {
// Redirect to Login Dialog
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); // CSRF protection
$dialog_url = "https://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
. $_SESSION['state'] . "&scope=publish_stream,publish_actions,read_friendlists,email";
echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
if($_SESSION['state'] && ($_SESSION['state'] === $_REQUEST['state'])) {
$token_url = "https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url)
. "&client_secret=" . $app_secret . "&code=" . $code;
$response = file_get_contents($token_url);
$params = null;
parse_str($response, $params);
$longtoken=$params['access_token'];
}
echo $longtoken;
?>
//获取Facebook-poster.php中使用的Facebook令牌ID
会话_start();
$app_id=“…”;
$app_secret=“…”;
$my_url=“……”;//重定向url
$code=$_请求[“code”];
if(空($code)){
//重定向到登录对话框
$_SESSION['state']=md5(uniqid(rand(),TRUE));//CSRF保护
$dialog_url=”https://www.facebook.com/dialog/oauth?client_id="
.$app\u id.&redirect\u uri=“.urlencode($my\u url)。”&state=”
.$\会话['state']。“&scope=publish\u流、publish\u操作、read\u好友列表、电子邮件”;
echo(“top.location.href=”。$dialog\u url。””;
}
如果($_会话['state']&&($_会话['state']===$_请求['state'])){
$token_url=”https://graph.facebook.com/oauth/access_token?"
“client_id=“.app_id.”和redirect_uri=“.urlencode($my_url)
.“&client_secret=”.$app_secret.&code=”.$code;
$response=file\u get\u contents($token\u url);
$params=null;
parse_str($response,$params);
$longtoken=$params['access_token'];
}
echo$longtoken;
?>
评论发布片段
//Gets Facebook Token ID for use in facebook-poster.php
session_start();
$app_id = "...";
$app_secret = "....";
$my_url = "......"; // redirect url
$code = $_REQUEST["code"];
if(empty($code)) {
// Redirect to Login Dialog
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); // CSRF protection
$dialog_url = "https://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
. $_SESSION['state'] . "&scope=publish_stream,publish_actions,read_friendlists,email";
echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
if($_SESSION['state'] && ($_SESSION['state'] === $_REQUEST['state'])) {
$token_url = "https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url)
. "&client_secret=" . $app_secret . "&code=" . $code;
$response = file_get_contents($token_url);
$params = null;
parse_str($response, $params);
$longtoken=$params['access_token'];
}
echo $longtoken;
?>
$accessToken = "abc";
$fbId = array ( '1893939', '919191');
echo "
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '.....',
xfbml : true,
version : 'v2.2'
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = \"//connect.facebook.net/en_US/sdk.js\";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
</HEAD>
<BODY>";
foreach ($fbId as $ID) {
$i++; //Increment counter for sleep timer.
$attachment = array(
'access_token' => $accessToken,
'message' => "Message",
);
// set the target url
$url = 'https://graph.facebook.com/v2.2/' . $ID . '/comments';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$go = curl_exec($ch);
echo "Facebook ID: <a href=http://www.facebook.com/". $ID .">". $ID ."</a> >> Status: ". $go ."<BR>";
curl_close ($ch);
$go = json_decode($go, TRUE);
echo "JSON Decode 1: <BR>";
print_r($go);
if( isset($go['id']) ) {
$url = "https://graph.facebook.com/v2.2/{$go['id']}/comments";
$attachment = array(
'access_token' => $accessToken,
'message' => "Bump". rand(0,5000) ."...",
);
// set the target url
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$comment = curl_exec($ch);
curl_close ($ch);
$comment = json_decode($comment, TRUE);
print_r($comment);
echo "<BR><HR>";
}
if ($i % 20 == 0) { echo "<HR>Sleep<HR><BR>"; sleep(20); }
}
foreach ($fbId as $ID) {
echo "<a href=http://www.facebook.com/". $ID .">". $ID ."</a> | ";
if ($i % 10 == 0) { echo "<BR>"; }
}
}
$accessToken=“abc”;
$fbId=数组('1893939','919191');
回声“
window.fbAsyninit=函数(){
FB.init({
appId:“……”,
xfbml:是的,
版本:“v2.2”
});
};
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id)){return;}
js=d.createElement;js.id=id;
js.src=\“//connect.facebook.net/en_US/sdk.js\”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
";
foreach($fbId作为$ID){
$i++;//睡眠计时器的递增计数器。
$attachment=array(
“访问令牌”=>$accessToken,
'消息'=>“消息”,
);
//设置目标url
$url='1https://graph.facebook.com/v2.2/“.$ID”。/comments”;
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$URL);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$attachment);
curl_setopt($ch,CURLOPT_头,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$go=curl\u exec($ch);
echo“Facebook ID:>>状态:“.$go.”
”;
卷曲关闭($ch);
$go=json_解码($go,TRUE);
echo“JSON解码1:
”;
打印(go);
如果(isset($go['id'])){
$url=”https://graph.facebook.com/v2.2/{$go['id']}/comments”;
$attachment=array(
“访问令牌”=>$accessToken,
'message'=>“Bump.rand(05000)。”,
);
//设置目标url
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$URL);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$attachment);
curl_setopt($ch,CURLOPT_头,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$comment=curl\u exec($ch);
卷曲关闭($ch);
$comment=json_decode($comment,TRUE);
打印(注释);
回声“
”;
}
如果($i%20==0){echo”
Sleep
“Sleep(20);}
}
foreach($fbId作为$ID){
回声“|”;
如果($i%10==0){echo“
”;}
}
}