【发布时间】: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