2012-05-08 61 views
0

我刚创建了一个Facebook应用程序,我想: 1.用户登录 - >浏览并选择视频 - >上传到自己的墙上。图api facebook用户上传视频

我有一些来自Facebook Dev的代码。的例子,但我得到一个错误。 阅读和错误的性质后,我能想象我的问题是这里的某个地方:

CODE:

$token_url = "https://graph.facebook.com/oauth/access_token?client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url) . "&client_secret=" . $app_secret . "&code=" . $code . "&type=client_cred";

$access_token = file_get_contents($token_url);

ERORR: { “错误”:{ “消息” :“必须使用活动访问令牌来查询有关当前用户的信息”, “type”:“OAuthException”, “code”:2500 } }

有什么想法吗?

谢谢!

回答

1

它看起来像您拥有的访问令牌对当前用户无效。

首先要重定向到FB使用你的应用程序ID来获得令牌:

$dialog_url = "http://www.facebook.com/dialog/oauth?client_id=".YOUR APP ID."&redirect_uri=".urlencode(YOUR CALLBACK URL).'&scope=email,publish_stream'; 

更新

这可能是因为你还没有要求足够的权限,请参阅范围参数,你会需要获得publish_stream的许可才能发布用户故事。

后,你有这样的代码,你需要通过使arequest到有点像一个URL来获取实际的应用程序访问令牌:

$token_url="https://graph.facebook.com/oauth/access_token?client_id={APP ID}&redirect_uri=".urlencode(CALLBACK)."&client_secret={SECRET}&code=$code"; 
+0

嗨,感谢您的答复。我使用的是: 'if(empty($ code)){ $ dialog_url =“http://www.facebook.com/dialog/oauth?client_id=” 。 $ app_id。 “&redirect_uri =”。 urlencode($ my_url) 。 “&范围= publish_stream”; echo(“”); }' – bboy

+0

已更新,更多信息 –

+0

进行了所有更改:/但仍相同。感谢您指示检查权限。似乎'publish_actions'用于上传照片和视频。但仍然出现同样的错误: “message”:“必须使用活动的访问令牌来查询有关当前用户的信息”, “type”:“OAuthException”, “code”:2500 – bboy