每当从我的网站触发某些事件时,我希望以编程方式将消息发布到我的网站用户的facebook页面。我会有一个在需要的时候执行stream.publish的cron。
我正在寻找stream.publish来实现这一点,这需要来自facebook用户的扩展权限。由于用户不参与发布,我如何从我的用户群获得publish_stream扩展权限?当他们在我的网站上注册时,他们可以这样做吗?或者如果他们向我提供他们的用户名和密码,我可以为他们这样做吗?
http://wiki.developers.facebook.com/index.php/Using_the_Open_Stream_API#About_the_publish_stream_Permission
发布于 2009-12-09 04:33:22
执行此操作的唯一方法是通过权限对话框。如果你正在使用facebook connect,检查FB.Connect.showPermissionsDialog,否则你可以很容易地在你的fbml中包含FB:prompt-permission。
如果你正在使用iframe/facebook连接,你可能不需要任何用户操作就可以调用FB.Connect.showPermissionsDialog (这样就会在页面加载时看到对话框)。在FBML的情况下,您需要指示您的用户单击弹出窗口的链接。
发布于 2009-12-10 09:34:24
您需要提示输入offline_access和stream_publish扩展权限。您可以在他们注册您的应用程序时执行此操作。也许你有一个设置页面,在那里用户打开这些通知,当他们打开它时,你可以提示扩展权限。
当你被你的用户授予offline_access权限时,他们的Facebook sessionkey将会改变,expires值将切换为零。这在Facebook圈子中被称为“无限会话密钥”,您需要保存此会话密钥以供以后在cron作业中使用。然后,您可以使用无限会话密钥作为参数来调用stream.publish,即使用户当时没有登录到您的站点或facebook,它也会运行。
https://stackoverflow.com/questions/1869599
复制相似问题