我正在对API端点进行php curl调用,以根据文档设置持久性菜单.这是代码:
$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);
Run Code Online (Sandbox Code Playgroud)
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\"}}"}]}
Run Code Online (Sandbox Code Playgroud)
我得到了一个成功的结果:
{"result":"Successfully added structured menu CTAs"}
Run Code Online (Sandbox Code Playgroud)
菜单在Facebook上的计算机上工作:

但它根本没有出现在移动Messenger应用程序上.我在其他地方读过它被缓存并花时间刷新,但我已经等了24个多小时了.此外,在Android手机和iPhone上都进行了测试,仍然没有看到菜单.
我知道我们可以使用自定义操作和对象制作自定义Facebook Feed(doc:facebook custom stories)
但是,我似乎无法找到任何关于制作像Strava这样的自定义结构输出源的文档.只是为了澄清,英里,分钟,分钟/英里和海拔信息不是图像的一部分; 这是一个表格标签.(另外,图像中的路线似乎是SVG)
编辑:我没有足够的stackoverflow信誉来发布图片,所以这里是imgur链接: