【发布时间】:2012-08-21 03:55:27
【问题描述】:
如果我拥有 Facebook 应用的 publish_stream 扩展权限,这是否允许我的应用在我离线时在我的提要上写入内容?
谢谢,
三通
【问题讨论】:
标签: facebook
如果我拥有 Facebook 应用的 publish_stream 扩展权限,这是否允许我的应用在我离线时在我的提要上写入内容?
谢谢,
三通
【问题讨论】:
标签: facebook
只要您拥有 publish_stream 权限,您就不需要 offline_access 权限来发布到用户的供稿。这是Facebook's Doc的“publish_stream”部分的摘录:
发布流 有了此权限,您可以随时将内容发布到用户的供稿,而无需离线访问权限。
为此,您需要首先通过调用此 API 来检索应用的访问令牌:
获取网址 https://graph.facebook.com/oauth/access_token?client_id={app_id}&client_secret={app_secret}&grant_type=client_credentials
获得应用程序 access_token 后,您可以发布到用户的供稿:
发布网址 https://graph.facebook.com/{user_id}/feed
发布正文 access_token={app_access_token}&message=Hello
【讨论】:
以防万一有人偶然发现此问题正在寻找使用 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'
));
【讨论】:
是的,facebook 允许您离线发布,只需从用户那里获得 offline_access 权限,当他/她要使用您的应用程序时,用户无需登录 facebook 即可发布。 请参考:
http://developers.facebook.com/docs/authentication/permissions
【讨论】:
offline_access 在 facebook 中不再使用,新的方式是通过 New Endpoint 的 TOKEN 的 Expiration Time 阅读更多https://developers.facebook.com/roadmap/offline-access-removal/
【讨论】: