我希望以编程方式将代码发送到我的网站用户的Facebook页面,只要从我的网站触发某些事件。我将有一个cron在需要时执行stream.publish。
我正在查看stream.publish来完成此操作,这需要来自facebook用户的扩展权限。由于用户不会参与发布,我将如何从我的用户群获得publish_stream扩展权限?他们在我的网站上注册时是否可以这样做,或者他们是否向我提供了他们的用户名&密码,我可以为他们做吗?
答案 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,它也会通过。