2011-12-28 64 views
1

我想從Facebook頁面中刪除一個應用程序選項卡。 根據文檔,我應該使用PAGE訪問令牌向「https://graph.facebook.com/PAGE_ID/tabs/TAB_ID」發出DELETE請求,但是當我這樣做時,出現錯誤「(#210)主題必須是一個頁面。「 嘗試更新選項卡時發生同樣的情況。 我已經向用戶請求「manage_pages」權限,並且我擁有正確的access_token(添加標籤完美無缺)。 確切的請求是:https://graph.facebook.com/212757048770606/tabs/app_289329597785433(帶有訪問令牌)使用Graph API更新/從Facebook頁面中刪除選項卡會返回「(#210)主題必須是頁面。」

有誰知道我在做什麼錯?還是有一個開放的錯誤報告?

非常感謝

+0

請的呼叫不籤自己的帖子。有關更多信息,請參閱http://stackoverflow.com/faq#signatures。 – Amy 2011-12-28 12:28:39

+0

您確定使用頁面access_token進行刪除(您從該用戶的帳戶連接獲取該頁面)嗎?如果您使用用戶的活動令牌,則通常會引發此錯誤。 – 2011-12-28 13:21:50

+0

是的,這與我用來添加選項卡(同一選項卡)的access_token相同。順便說一句,該錯誤也出現在圖形API資源管理器中... – 2011-12-28 13:52:30

回答

1

我沒有你的解決方案,但我知道我有一些問題,去除歸結爲一個事實,即標籤的ID(從調用返回得到一個標籤/PAGE_ID/tabs)已包含頁面ID和「選項卡」路徑。

最初我通過選擇標籤ID並將其粘貼在/PAGE_ID/tabs/的末尾來構建我的網址,但這不起作用,因爲URL最終成爲像/12345/tabs/12345/tabs/app_4567之類的東西。一旦我意識到標籤ID已經是「複合」了,我得到了刪除工作。

0

頁面訪問令牌添加到Facebook的API

var PageAccessToken = 123456789123456789123456789123456789; 
FB.api(
    "/{page_id}/tabs", 
    "POST", 
    { 
     "object": { 
      "app_id": "{page_id}" 
     } 
    },{ 
    "access_token": PageAccessToken 
    }, 
    function (response) { 
     if (response && !response.error) { 
     console.log(response); 
     } else { 
     console.log(response.error); 
     } 
    } 
); 
0
function DeleteTabPage(){ 
     var pid = page_id; 
     var at = access_tocken;   
     debugger; 
     FB.api(pid + '/tabs/app_{your app id}', 'DELETE', { app_id: your app id, access_token: at }, function (response) { 
      debugger; 
      if (!response || response.error) { 
       debugger;`enter code here` 
       alert('Facebook add app error ' + response.error); 
      } else { 
       console.log(response); 
       debugger; 
       // alert('App has been added'); 
      } 
     }); /* end of page/tabs*/ 
    } 
+1

你能否給你的答案添加一個解釋,這對更多的人有幫助? – Marki555 2016-07-13 18:12:24

+1

儘管此代碼可能有助於解決問題,但提供 有關_why_和/或_how_的附加上下文,它將回答 該問題將顯着提高其長期值 值。請[編輯]你的答案,添加一些解釋。 – 2016-07-13 21:47:14

相關問題