2011-08-08 35 views
0

我使用Facebook的JavaScript的SDK做一些像Facebook的JS SDK:頁(而非個人資料)

FB.api('/1234567890/events', 'POST', { 
    name: "My cute test event", 
    start_time: 1313161200, 
    end_time: 1313531700, 
    location: "Over the Rainbow" 
}, function (res) { 
    // whatever 
}); 

創建活動,以創建一個Facebook頁面上的事件。經過身份驗證的用戶是該頁面的管理員1234567890,並授予manage_pagescreate_event權限。

但是,創建的事件不屬於該頁面,而是作爲已驗證用戶的事件創建,因此僅顯示在其朋友的流中,而不顯示在指定的頁面上。

我該如何解決這個問題?

我知道有/me/accounts API調用返回訪問令牌來代表用戶頁面進行API調用,但我沒有看到Facebook的JavaScript SDK中的哪個位置可以實際更改訪問令牌。

(是的,我知道,使用Unix的時間戳創建活動是壞的。我會解決這個問題爲好,但我想這不會有什麼這個問題。)

+0

你確定你的頁面是1234567890,而不是你自己的fbuser id嗎?使用api資源管理器https://developers.facebook.com/tools/explorer/,我用增強的權限檢查它的工作。 – Vijay

+0

您可以將頁面的access_token作爲參數附加到api調用本身。像'FB.api('/ 1234567890/events?access_token = xxxxxxx','POST',{.......' – Vijay

回答

0

感謝維傑指着我在正確的方向(不是一個答案,雖然):

FB.api('/1234567890/events', 'POST', { 
    access_token: "152770078124166|2.AQBX…", 
    name: "My cute test event", 
    start_time: 1313161200, 
    end_time: 1313531700, 
    location: "Over the Rainbow" 
}, function (res) { 
    // whatever 
}); 

您可以將它添加到你傳遞給POST的對象,如設置access_token添加access_token到URL的末尾確實不起作用,因爲然後SDK將向Facebook提供您的自定義令牌(作爲查詢字符串參數)及其默認令牌(作爲POST參數),並且Facebook似乎更喜歡POST access_token (或者隨機選擇它們,差不多)。

相關問題