【问题标题】:Facebook Messenger API - Persistent Menu not working on mobileFacebook Messenger API - 永久菜单无法在移动设备上运行
【发布时间】: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


【解决方案1】:

您必须在手机上重新启动 Facebook Messenger 应用程序,因为手机应用程序会在启动时缓存菜单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    • 1970-01-01
    • 2014-08-30
    • 2017-01-28
    • 2016-08-17
    相关资源
    最近更新 更多