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