【发布时间】:2016-10-01 00:01:53
【问题描述】:
我正在对 API 端点进行 php curl 调用,以设置基于 documentation 的持久菜单。代码如下:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/v2.6/me/thread_settings?access_token='.FB_ACCESS_TOKEN);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postbody);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
$output = curl_exec($ch);
curl_close($ch);
error_log($output);
ACCESS_TOKEN 设置正确,$postbody 如下所示:
{"setting_type":"call_to_actions","thread_state":"existing_thread","call_to_actions":[{"type":"postback","title":"My Album","payload":"{\"type\":\"button1\",\"data\":{\"category\":\"album\"}}"},{"type":"postback","title":"Help","payload":"{\"type\":\"button1\",\"data\":{\"category\":\"help\"}}"}]}
我得到了一个成功的结果:
{"result":"Successfully added structured menu CTAs"}
菜单在网络电脑上的 facebook 上工作:
但它根本不会出现在移动 Messenger 应用程序上。我在其他地方读到过它被缓存并需要时间来刷新,但我现在已经等了 24 多个小时。此外,在 Android 手机和 iPhone 上都进行了测试,但仍然看不到菜单。
【问题讨论】:
-
Doh,没关系,似乎在我发帖后不久,缓存就以某种方式被清除了,它可以在移动设备上运行。毕竟,这是正确的代码。清除缓存只用了 24 小时多一点。
-
所以这只是移动应用程序没有更新的问题?我以前经历过这种情况,但时间很短。你知道是什么导致它刷新吗?可能只需要重启应用,但我不确定
-
嘿byl83,我面临着类似的问题。我什至没有在电脑上的 facebook 上看到它。已经 > 24 小时。任何想法如何调试?我是否需要与新用户一起测试它,或者它是否会出现在现有对话中。 (我重新启动了我的手机和浏览器 - 以防某些缓存可能会影响它)
-
嗨 rajkiran,刚刚看到您的评论。在 pc 上的 facebook 上,它应该立即或很快出现。您无需使用新用户对其进行测试。它也出现在现有对话中。
-
在PC的浏览器上,我通常删除对话,刷新页面,然后重新开始获取最新的菜单。它总是有效的。
标签: android ios facebook facebook-messenger messenger