有什么方法可以在我要创建的 Facebook 应用程序中安排任务?我希望它每周运行一些操作。
编辑 例如,我想安排在一周的某个时间在某人的墙上张贴一些东西。可能吗?
编辑2 我还可以从我的应用向用户发送私有(private)消息而不是在墙上张贴吗?
最佳答案
你能再解释一下吗?
Facebook 应用程序没有运行计划任务的能力,但 Facebook 应用程序主要是连接到 Facebook 的网站或集成到 Facebook 的 iframe。
因此,您必须直接使用类似于 CRON jobs 的方式在您的服务器上运行计划任务。 .
一个简单的例子:
假设您的 Facebook 应用程序位于:http://yourserver.com/facebookapp1/ 您可以在您的服务器上安排一个任务,该任务将调用页面 http://yourserver.com/facebookapp1/scheduledtaks/
所以基本上它每周或每天都会调用这个页面,这个页面会做任何你需要做的维护工作......
你有网络服务器吗?你可以添加 cron 作业吗?你的服务器技术是什么? 如果您向我们提供更多信息,我们可以为您提供更具体的答案...
回答您的编辑:
有可能,您需要创建一个每天都会调用的脚本。我们称它为 check_and_send。现在您的脚本需要检查是否要发送某些内容(这取决于您的逻辑),例如检查数据库以查看今天是否需要发布某些内容。当它想要发布一些东西时,它可以使用 facebook graph api 来完成。 .您需要向用户请求“publish_stream”权限。
此外,您还需要一个初步步骤,要求用户对 facebook 进行身份验证,并要求他授予您的应用程序“publish_stream”权限以及“offline_access”权限,这样您就可以随时发布到用户墙上时间(不仅是当他连接时)......见facebook permissions
之后,您必须将 access_token(针对每个用户)保存在您的数据库或某处,当您需要在该特定用户的墙上发帖时,您将使用它......
简而言之:
1)(一次)对用户进行身份验证,请求权限,保存它的 facebook UID 和 access_token
2)(定期)检查您的数据库是否需要发布内容,如果需要,请使用 facebook graph api 和保存的 access_token 进行发布。
关于 Facebook 应用 : scheduling a task,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5767303/