Facebook:无法在测试模式下发布用户Feed

时间:2016-08-08 21:11:57

标签: facebook facebook-graph-api

我在测试版中开发了一个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是错的?

由于

1 个答案:

答案 0 :(得分:1)

ID正确,您只能获得“App Scoped ID”。您不应再使用全局/公共ID,而应使用/me/feed进行发布,而不是/user-id/feed。无论如何,您只能在授权用户的墙上张贴。