我目前正在使用messenger bot,并尝试使用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中所示。
答案 0 :(得分:0)
此Graph API调用不需要访问令牌来提交messenger bot事件。发送"有效"时是否收到错误? page_scoped_user_ids?如果是这样,您能否请求更多信息支持? (应用ID,提供错误的页面范围用户ID)?
答案 1 :(得分:0)
编写事件受到您识别有效appId,pageId,页面范围用户ID三元组的能力的限制-无法提供任何保护。我认为应该删除访问令牌-您可以使用它读取事件数据,但不能写入事件数据。
page_scoped_user_id必须是Facebook页面范围内的用户ID,并且page_id同样有效。您是否在测试中使用了无效的?这就是为什么他们没有全部通过的原因。