如果我拥有Facebook应用程序的publish_stream扩展权限,这是否允许我的应用在我离线时在我的Feed中写入?
谢谢,
三通
答案 0 :(得分:8)
只要您拥有publish_stream权限,就不需要使用offline_access权限发布到用户的Feed。以下是Facebook's Doc的“publish_stream”部分的摘录:
<强> publish_stream 强> 有了此权限,您可以随时将内容发布到用户的Feed,而无需offline_access。
要执行此操作,您需要先调用此API来检索应用的访问令牌:
获取网址 https://graph.facebook.com/oauth/access_token?client_id={app_id}&client_secret={app_secret}&grant_type=client_credentials
获得app access_token后,您可以发布到用户的Feed:
POST网址 https://graph.facebook.com/{user_id}/feed
POST BODY access_token={app_access_token}&message=Hello
答案 1 :(得分:2)
以防万一有人偶然发现使用PHP寻找解决方案。使用PHP API,我最终得到了这个为我工作,在FB文档的帮助下:
http://developers.facebook.com/docs/reference/php/facebook-api/
请注意,$ users_facebook_id是使用“publish_stream”权限授予您的应用权限的用户的Facebook ID。
$access_token = $facebook->getAccessToken();
$ret_obj = $facebook->api('/'.$users_facebook_id.'/feed', 'POST',
array(
'link' => 'http://www.website.com',
'message' => 'Testing'
));
答案 2 :(得分:1)
是的facebook允许您离线发布只需从用户获取offline_access权限,当他/她打算使用您的应用程序时,用户无需登录Facebook即可发布。 请参考:
http://developers.facebook.com/docs/authentication/permissions
答案 3 :(得分:0)
在facebook中不再使用offline_access,新方式是TOKEN到新端点的到期时间 在https://developers.facebook.com/roadmap/offline-access-removal/
了解更多信息