我有使用publish_stream的应用程序,我可以在我的用户墙上发布状态更新,现在我想发布照片,搜索后我读到了关于batchrequest并使我的代码像那样
<?php
require_once('./includes/config.php');
require_once('./includes/skins.php');
require_once('./includes/functions.php');
require_once('./includes/facebook.php');
$app_id = "$appid";
$app_secret = "$appsec";
$sql=mysql_query("select `f_id`, `facebook_access_token` from `users` ");
while($rows = mysql_fetch_array($sql)){
$f_id=$rows['f_id'];
$facebook_access_token=$rows['facebook_access_token'];
$batched_request = '[{"method":"POST", "relative_url":"'.$f_id.'/photos",'
. ' "body" : "message=لو بتحب جاهين و رباعياته اشترك معانا فى التطبيق و هننشرلك على بروفايلك اجمد رباعيات صلاح جاهين http://2lshmaker.uni.me/jahin/", "attached_files":"file1"}}]';
$post_url = "https://graph.facebook.com/" . "?batch="
. Urlencode($batched_request) . "&". $facebook_access_token
. "&method=post";
}
echo ' <form enctype="multipart/form-data" action="'.$post_url.'"
method="POST">';
echo 'Please choose 2 files:';
echo '<input name="file1" type="file">';
echo '<input type="submit" value="Upload" />';
echo '</form>';
?>
但它给了我那个错误
{
"error": {
"message": "Top level access token or app id not specified for batch request.",
"type": "GraphBatchException"
}
}
尽管我已经拥有了publish_stream和有效的access_token
,但我不知道我得到了什么答案 0 :(得分:1)
您需要指定顶级访问令牌,即使您为批次中的每个请求包含访问令牌
阅读批处理API文档中标记为“为不同操作指定不同访问令牌”的部分
以上所有示例都将单个访问令牌指定为顶级 参数。 Batch API非常灵活,允许个人请求 将自己的访问令牌指定为查询字符串或表单帖子 参数。在这种情况下,顶级访问令牌被视为a 后备令牌,如果单个请求未明确显示,则使用该令牌 指定了一个访问令牌。
当您想要使用多个用户查询API时,这可能很有用 不同的访问令牌,或者您是否需要进行某些调用 使用应用程序访问令牌。
如果单个请求都没有指定要使用的访问令牌, 您必须包含访问令牌作为顶级参数和此 将用于所有请求。
假设$facebook_access_token=$rows['facebook_access_token'];
返回访问令牌列表,则需要在批量中的每个调用中附加,因此$batched_request
应具有相同数量的调用以匹配您提供的访问令牌数量。除此之外,如果您提供的任何令牌失败,您需要一个顶级访问令牌,因此很可能它将是应用程序访问令牌作为后备。
特定于您的代码,您甚至没有正确定义顶级访问令牌参数,它应该是
$post_url = "https://graph.facebook.com/" . "?batch="
. Urlencode($batched_request) . "&access_token=". $facebook_access_token
. "&method=post";
<强> “&安培; =的access_token”。 $ facebook_access_token 强>
------^MISSING^
那必须是场和价值的形式。 http://en.wikipedia.org/wiki/Query_string