PHP-FacebookAPI:提醒用户更改。。。很简单

PHP-FacebookAPI:提醒用户更改。。。很简单,php,facebook,Php,Facebook,这似乎是一件简单的事情,但我似乎在Facebook开发者论坛、API或谷歌上找不到任何关于如何实现这一点的信息。 我正在使用PHPSDK来编写一个简单的应用程序,它寻找关于当前用户的某种变化,不要让人觉得神秘,只是这一部分无关紧要。 一旦检测到此更改,我想以某种方式提醒当前用户此更改,而不是将其张贴到用户的墙上,此信息需要保密-它需要保持在用户和应用程序之间。 根据Facebook API文档,通知是自动生成的-因此我无法控制它们,而且我似乎也无法让书签计数器自动更新-当用户访问应用程序画布页面

这似乎是一件简单的事情,但我似乎在Facebook开发者论坛、API或谷歌上找不到任何关于如何实现这一点的信息。 我正在使用PHPSDK来编写一个简单的应用程序,它寻找关于当前用户的某种变化,不要让人觉得神秘,只是这一部分无关紧要。 一旦检测到此更改,我想以某种方式提醒当前用户此更改,而不是将其张贴到用户的墙上,此信息需要保密-它需要保持在用户和应用程序之间。 根据Facebook API文档,通知是自动生成的-因此我无法控制它们,而且我似乎也无法让书签计数器自动更新-当用户访问应用程序画布页面时,如果出现问题,我无法让它增加,但我想提醒用户某个事件,而不要求用户实际访问应用程序画布

我正在使用PHPSDK来编写一个简单的应用程序,它寻找关于当前用户的某种变化,不要让人觉得神秘,只是这一部分无关紧要

事实上,这并不是完全不相关的,因为Facebook TOS阻止你在大多数情况下这样做,特别是在不友好、关系状态等情况下

一旦检测到此更改,我想以某种方式提醒当前用户此更改,而不是将其张贴到用户的墙上,此信息需要保密-它需要保持在用户和应用程序之间

请求他们的电子邮件并以这种方式发送。

我会引导您进入该页面,因为它应该是查看的正确位置。但像往常一样,文档中缺少一些东西

无论如何,您要查找的是应用程序生成的请求:


在a中描述,而不是在文档中!感谢@Charles。

顺便说一句,我在我的原始帖子中忘了提到它,但我在文档中看到了应用程序生成的请求,无法使用他们的说明让它工作。我会试试你发的帖子,也许他们这边或者我这边有点不对劲。谢谢啊!我从来没有在那里找过它!我以为他们在文档中没有提到!但我猜是相同的代码。这种方法会检查更新/更改,而不要求用户实际访问应用程序画布页面吗?@Charles:检查更新取决于您和您的应用程序实现cron jobs。等等,除非是与Facebook相关的更新,否则您需要实时api。我看到你已经接受了答案,想和我们分享一下到底出了什么问题吗?我的回答有什么帮助呢?首先,你的回答让我再次思考应用程序生成的请求,这让我想到了这条简洁的小行:$facebook->api/me/apprequests,'post',array'message'=>'x','data'=>'comment';现在这是相当尴尬的,所以我不想提及它-但这里希望其他人也犯了我犯的同样的错误,这可以帮助他们:在看到一些地方提到的请求2.0后,我突然想起它出现在我的应用程序设置中。果然,应用程序设置>>高级>>升级到Requests 2.0-已被禁用不用说,我觉得自己很傻,读白痴。我真的想到了电子邮件的想法,我可能就是这样做的。另外,既然你提到了它,作为一名开发人员,除了我应该读的其他术语之外,还有什么我没有读到的吗?Facebook的文档非常可怕,他们的TOS也不例外。一些东西可以从开发者论坛中收集,其他东西可以从他们的非开发者FAQ/help内容中收集。比如你提到的解除好友关系、关系状态等情况-哪里说应用程序无法查找这些更改,是针对当前用户、当前用户的朋友,还是两者都有?为什么Facebook允许开发者访问这些信息,却不允许他们对这些信息做任何事情呢?Facebook提供了这些数据,可供大量有效使用。它可以以违反FB预期用途的方式使用,这将删除你的应用程序。例如:不推任何界限或删除我的应用程序这甚至不适用于我目前正在开发的应用程序,但你链接到的文章提到,该开发人员违反了Facebook平台开发人员协议的第2节,其中规定“你不得通知用户有人将该用户作为朋友删除。”我检查了同样的政策,没有发现第2节或类似的内容。使用用户朋友信息的唯一一点是:用户朋友的数据只能在应用程序上用户体验的上下文中使用。我错过了什么?
<?php 

  $app_id = YOUR_APP_ID;
  $app_secret = YOUR_APP_SECRET;

  $token_url = "https://graph.facebook.com/oauth/access_token?" .
    "client_id=" . $app_id .
    "&client_secret=" . $app_secret .
    "&grant_type=client_credentials";

  $app_access_token = file_get_contents($token_url);

  $user_id = THE_CURRENT_USER_ID;

  $apprequest_url ="https://graph.facebook.com/" .
    $user_id .
    "/apprequests?message=’INSERT_UT8_STRING_MSG’" . 
    "&data='INSERT_STRING_DATA'&"  .   
    $app_access_token . "&method=post";

  $result = file_get_contents($apprequest_url);
  echo("Request id number: ", $result);
?>