Facebook - Stream.publish

时间:2009-12-08 20:23:57

标签: facebook stream

我希望以编程方式将代码发送到我的网站用户的Facebook页面,只要从我的网站触发某些事件。我将有一个cron在需要时执行stream.publish。

我正在查看stream.publish来完成此操作,这需要来自facebook用户的扩展权限。由于用户不会参与发布,我将如何从我的用户群获得publish_stream扩展权限?他们在我的网站上注册时是否可以这样做,或者他们是否向我提供了他们的用户名&密码,我可以为他们做吗?

http://wiki.developers.facebook.com/index.php/Using_the_Open_Stream_API#About_the_publish_stream_Permission

2 个答案:

答案 0 :(得分:2)

执行此操作的唯一方法是通过权限对话框。如果你正在使用facebook连接,请查看FB.Connect.showPermissionsDialog,否则你可以轻松地在你的fbml中加入FB:prompt-permission

如果您使用的是iframe / facebook连接,则可以在没有任何用户操作的情况下调用FB.Connect.showPermissionsDialog(因此将在页面加载时看到对话框)。在FBML案例中,您需要引导用户单击显示窗口的链接。

答案 1 :(得分:0)

您需要同时提示offline_access和stream_publish扩展权限。您可以在注册应用时执行此操作。也许你有一个设置页面,用户打开这些通知,当他们打开它们时,你可以提示扩展权限。

当您的用户授予您offline_access权限时,他们的Facebook会话密钥将更改,并且过期值将切换为零。这在Facebook圈子中称为“无限会话密钥”您需要保存此会话密钥以供以后在您的cron作业中使用。然后,您可以使用无限会话密钥作为参数调用stream.publish,即使用户当时没有登录到您的站点或Facebook,它也会通过。