我在测试版中开发了一个Facebook应用程序,我想在测试用户的墙上发布。
这是用户注册并接受权限的链接:
https://www.facebook.com/dialog/oauth?type=user_agent&client_id=MY_APP_ID&display=popup&redirect_uri=THE_URL&scope=email%2Cpublish_actions
之后我得到某种令牌,使用此令牌我正在对图表做以下请求:
/oauth/access_token?client_id=MY_APP_ID&client_secret=MY_APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=".$token
我现在正在使用回来的令牌从图表中获取用户的详细信息:
/me/?$user_access_token&fields=name,age_range,id,email,gender,currency,locale,timezone"
我得到的结果是上面列出的所有字段。 (一个奇怪的事情,返回的id不是测试用户的公共ID,其他字段是正确的...... )
当我想发布某些内容时,我正在图中运行:
/oauth/access_token?client_id=MY_APP_ID&client_secret=MY_SECRET&grant_type=client_credentials
将在此处使用回来的令牌:
$token = self::getAccessToken($app_id,$app_secret);
$post_array = array();
$post_array['access_token'] = $token;
$post_array['message'] = urlencode($message);
$post_array['link'] = urlencode($link);
$res = self::post("https://graph.facebook.com/".$user_id."/feed?",$post_array);// the user id might be wrong?
我收到以下错误:
{"error":{"message":"(#200) Permissions error","type":"OAuthException","code":200,"fbtrace_id":"EO5WvMfYYgC"}}
它能是什么? 我在测试mod的事实? 或者我回来的用户ID是错的?
由于
答案 0 :(得分:1)
ID正确,您只能获得“App Scoped ID”。您不应再使用全局/公共ID,而应使用/me/feed
进行发布,而不是/user-id/feed
。无论如何,您只能在授权用户的墙上张贴。