Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook graph api 检查新的Facebook用户通知_Facebook Graph Api_Facebook Php Sdk_Facebook Requests - Fatal编程技术网

Facebook graph api 检查新的Facebook用户通知

Facebook graph api 检查新的Facebook用户通知,facebook-graph-api,facebook-php-sdk,facebook-requests,Facebook Graph Api,Facebook Php Sdk,Facebook Requests,我正在尝试通过PHP创建一个设置,如果我最近通过Facebook SDK收到任何Facebook通知,我可以访问该设置。我希望能够检查最近的朋友请求、消息和一般通知 我已经成为一名开发者,下载并初始化了Facebook SDK。从这里,我可以访问Graph API,在这里我可以获取有关用户的信息。因此,我可以经常检查用户信息。我进行了广泛的研究,但是否发现我最近通过API图收到的通知我找不到 我也读过关于实时更新的文章,当数据发生变化时,会触发回拨URL,这可能是Facebook通知。这将是更有

我正在尝试通过PHP创建一个设置,如果我最近通过Facebook SDK收到任何Facebook通知,我可以访问该设置。我希望能够检查最近的朋友请求、消息和一般通知

我已经成为一名开发者,下载并初始化了Facebook SDK。从这里,我可以访问Graph API,在这里我可以获取有关用户的信息。因此,我可以经常检查用户信息。我进行了广泛的研究,但是否发现我最近通过API图收到的通知我找不到

我也读过关于实时更新的文章,当数据发生变化时,会触发回拨URL,这可能是Facebook通知。这将是更有效的,但我有困难与此工作

我理解这些概念,并进行了研究,但我不知道如何使用AIP图和实时更新来检查最近的通知和报告


任何Facebook开发人员都可以提供帮助?

在充分利用了以前的研究和开发成果后,我发现了一种通过Facebook API图查看我最近的Facebook通知的通用方法

最初的问题考虑到了检查的多功能性,检查可以通过简单的HTTP请求进行,而不需要累积会话cookie之类的内容。这允许我在远程php脚本中使用CURL请求,该脚本由一个小型Arduino服务器访问以获取信息。如果出现新的通知,Arduino服务器可以打开LED

我创建了一个名为Notifier成为Facebook开发者的应用程序,这使我能够为用户或我创建一个称为访问令牌的东西。这是一个长字符串,有效期为60天,允许我访问我的Facebook帐户信息。我通过在一小段代码中实现FacebookSDK获得了它,该代码具有访问有关我的通知的信息的权限

在我的应用程序中用php实现Facebook SDK并通过我登录后,我可以调用
$Facebook->getAccessToken()获取它。然后可以将其保存在数据库中或硬编码以用于开发目的。最初它只持续60天,但是延长它的寿命是可能的。另一种方法是让用户或我每隔一段时间登录一个web应用程序

可以在Facebook开发者图形浏览器工具中获得持续一小时的调试访问令牌。 这些权限如下:

{
   "data": [

   ],
   "summary": {
      "unseen_count": 0,
      "unread_count": 16,
      "updated_time": "2014-04-08T18:30:48+0000"
   }
}
“读取邮箱、管理通知、读取请求”

累积访问令牌后,可以请求对API图(Facebook的信息数据库)的三个不同HTTP请求,以获取必要的信息,以检查用户是否有最近的通知

可以通过以下API图的HTTP请求访问好友请求:

https://graph.facebook.com/me/friendrequests?limit=0&access_token=$accessToken
$AccessToken
是具有上述权限的有效访问令牌

这将使用JSON数据响应进行响应,可以对其进行处理以查找
未读计数

对于消息和常规通知,情况相同

请求邮件的
未读计数

https://graph.facebook.com/me/inbox?limit=0&access_token=$accessToken
一般通知的
不可见计数请求:

https://graph.facebook.com/me/notifications?limit=0&access_token=$accessToken
请求中的“limit=0”表示您实际上不想请求通知数据或对象。这是真的。所有JSON响应都会响应一个“summary”对象,其中包括“unseen_count”或“unread_count”。这是我们想要的数据

来自消息HTTP请求的JSON响应示例如下:

{
   "data": [

   ],
   "summary": {
      "unseen_count": 0,
      "unread_count": 16,
      "updated_time": "2014-04-08T18:30:48+0000"
   }
}
在PHP中,
json\u decode
可用于处理json响应并累积原始“未读计数”

大多数用户从已获取的消息中有一个现有的未读计数,这意味着要测试用户是否有任何最近的通知,并且必须测试更改。这可以通过读取一个值,然后稍后读取相同的值,然后进行比较来实现。如果第二个读数增加,则用户会收到新的消息通知