【问题标题】:Facebook bot analytics event loggingFacebook 机器人分析事件记录
【发布时间】:2017-02-16 14:57:36
【问题描述】:

我目前正在开发一个聊天机器人,并尝试使用 facebook 的应用分析平台记录其他事件。

相关文件:

请求示例(应用信息被审查):

curl -F 'event=CUSTOM_APP_EVENTS' \
 -F 'custom_events=[{"_app_user_id": "1", "_eventName": "my-test-event"}]' \
 -F 'advertiser_tracking_enabled=0' \
 -F 'application_tracking_enabled=0' \
 -F 'extinfo=["mb1"]' \
 -F 'page_id=xxx' \
 -F 'page_scoped_user_id=xxx' \
 -F 'access_token=xxx' \
 https://graph.facebook.com/xxx/activities

问题:

发出上述请求时,该事件将出现在我的分析概览 (https://www.facebook.com/analytics/xxx/?section=AppEvents) 中,但不会记录实际事件。接收到的事件数量保持为零,事件调试器不会显示任何活动。

如果我在没有访问令牌的情况下发送事件(与上述相同的请求,只是没有令牌),则事件将得到正确处理。

虽然我可以让它以这种方式工作,但我真的认为在没有访问令牌的情况下发布事件根本不应该工作.. 不能每个人都为我的应用程序发布它们吗?

应用程序当前仍处于沙盒模式,因此问题可能与此有关。有人有这方面的经验吗?

快速编辑:Facebook 本身似乎正在使用访问令牌发送请求,如facebook sdk for android 所示。

【问题讨论】:

  • 他们在第一个文档页面上的“购买事件示例”也没有使用访问令牌。我猜由于 page_scoped_user_id 是强制性的,这可能足以让 Facebook 判断请求是否真实,因为没有访问该页面的人不会知道页面范围的 id。
  • @CBroe 很有趣,在使用用户 ID 时,我得到的结果好坏参半。对于某些 ID,我得到 Code 1: An unknown error has occurred.,而其他 ID 则成功提交。在成功提交的那些中,一些出现在我的事件日志中,而另一些则被忽略了。不过,似乎没有共同的模式。

标签: facebook facebook-graph-api facebook-analytics


【解决方案1】:

此 Graph API 调用无需访问令牌即可提交 Messenger 机器人事件。您在发送“有效”page_scoped_user_ids 时是否遇到错误?如果是这样,您能否联系以提供更多信息以提供支持? (App Id,给出错误的页面范围内的用户 id)?

【讨论】:

  • 我没有收到任何错误,除非是故意尝试错误的用户 ID。使用访问令牌时的唯一区别是事件未显示在事件调试器中。有什么方法可以防止有人向我的应用程序发布事件?
【解决方案2】:

编写事件受限于您识别有效 appId、pageId、页面范围用户 ID 三元组的能力 - 不提供任何保护。我认为删除访问令牌 - 您可以使用它来读取事件数据但不能写入它。

page_scoped_user_id 必须是 Facebook 页面范围内的用户 ID,并且 page_id 同样有效。您是否使用无效的作为测试的一部分?这可能就是他们没有全部通过的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-19
    • 2016-10-10
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    相关资源
    最近更新 更多