我有一个应用程序将处理多个Facebook应用程序的订阅的实时更新。 在验证签名步骤中,我需要知道Facebook为哪个Facebook应用程序提供了更新(以便我可以使用正确的应用程序密钥)。 我还没有看到提供此信息的示例请求,但我可能会错过它。 有没有办法知道订阅适用于哪个应用程序(无需迭代我的已知应用程序并尝试每个密钥直到一个成功)?
我的一个想法是订阅Facebook并提供一个回调URL,该URL在路径中包含应用程序ID,以便我可以以这种方式解析它。
具有应用 ID 的回调 URL 似乎是唯一的方法。
特别是因为:
请注意,确认订阅后,不会再次发送 hub.mode、hub.challenge 和 hub.verify_token 参数。
从 https://developers.facebook.com/docs/reference/api/realtime/
这篇文章有点旧,但我发布这个是因为它可以帮助其他人寻找这个。
使用单个终结点处理多个应用调用的最佳方法是使用应用 ID 发送 get 参数。
例如:将回调网址设置为http://yoursite.com/callback.php?id=xxxxxxxxxxxx
可以使用 $_GET['id']
捕获应用程序 ID。简单,效果很好。
可以尝试将verify_token令牌参数设置为应用 ID。然后在回调文件上使用 $_GET['hub_verify_token'] 检查哪个应用发送了更新。