2016-10-01 74 views
5

我正在向API端點進行php curl調用,以基於documentation設置永久性菜單。下面是代碼:Facebook Messenger API - 永久性菜單不適用於手機

$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上:
Persistent Menu working on web
但它根本沒有出現移動Messenger應用程序。我已經在其他地方看過它被緩存並花時間刷新,但我現在已經等了24個小時了。此外,在Android手機和iPhone上都經過測試,仍然沒有看到菜單。

+1

Doh,沒關係,似乎在我發佈後不久,緩存以某種方式被清除,並且它在移動設備上工作。畢竟,這是正確的代碼。它只需要超過24小時的緩存清除。 – byl83

+0

所以這只是一個移動應用程序不更新的問題?我之前已經體驗過這一點,但只是短暫的時間。你知道是什麼導致它刷新?可能只是需要重新啓動應用程序,但我不確定 – user2322082

+0

嘿byl83,我正面臨simillar問題。我甚至沒有在電腦上的Facebook上看到它。它已經超過24小時。任何想法如何調試?我是否需要用新用戶測試它,還是會在現有對話中出現? (我重新啓動了我的手機和瀏覽器 - 以防一些緩存可能影響它) – rajkiran

回答

2

您必須重新啓動手機上的Facebook Messenger應用程序,因爲moblie應用程序在開始時緩存菜單。