2014-03-30 47 views
0

我認爲這很容易做,但似乎並非如此。我有一個Android應用程序。用戶使用Facebook登錄到這個應用程序。我還有一個Facebook頁面(除了Facebook應用程序)。所以,我想從我的android應用程序代表我的頁面創建一個事件。這是我做的:這裏所描述代表Android客戶端的頁面創建Facebook事件

Bundle params = new Bundle(); 
    params.putString("name", "name"); 
    params.putString("description", "descr"); 
    params.putString("location", "loc"); 
    params.putString("start_time", "properly_formatted_time"); 
new Request(
     Session.getActiveSession(),        
     "/" + PAGE_ID + "/events?access_token=" + PAGE_ACCESS_TOKEN, 
     params, 
     HttpMethod.POST, 
     new Request.Callback() { 
      public void onCompleted(Response response) { 
     } 
    ).executeAsync(); 

我已經產生長期的生活令牌所有必需的權限:Long-lasting FB access-token for server to pull FB page info

如果我嘗試創建活動,被登錄爲自己(管理員一個FB頁面和應用程序),它工作正常。

當我使用別人的賬號,誰是不是管理員,我收到以下錯誤:

{HttpStatus: 500, errorCode: 1373019, errorType: Exception, errorMessage: You must be an admin of the specified page to perform the requested action.}

那麼,它是如何能夠解決這個問題。我搜索了一下,發現了一些類似的問題,比如How to post to a Facebook Page (how to get page access token + user access token),但那些沒有正確的答案,或者正在使用"me/account",然後得到access_token,這不是我想要做的。

任何幫助將不勝感激。

回答

0

在我看來,除了通過/me/accounts(以該頁面的管理員身份登錄)獲取頁面訪問令牌外,沒有其他方式,然後將此令牌存儲在應用程序本身中。

我並不真正理解的是(所有)用戶可以爲您的頁面創建一個事件。那真的是你想要的嗎?

+0

是的,我真的希望每個用戶都能夠爲我的頁面創建一個事件(因爲頁面本身應該創建事件)。但是,如果我以其他用戶身份登錄,而我自己登錄,則無法使用「我/帳戶」訪問我的頁面令牌。 –

+0

是的,的確如此,因此您需要將頁面訪問令牌存儲在您的應用程序中 – Tobi

+0

我正在存儲它。正如問題中所述,我創建了持久標記,並且代碼中的PAGE_ACCESS_TOKEN常量是此標記。我可以調試它並查看它永不過期並具有所有必要的權限。但是,我仍然遇到了上述錯誤。 –