如this other question所述,如果用戶授予publish_stream權限,我可以使用應用程序access_token發佈到該用戶的牆。我測試了它,它工作。但我無法使用應用程序access_token發佈到用戶的頁面!我錯過了什麼嗎?我可以發佈到帶有應用程序的頁面嗎?access_token
現在我使用/ me/accounts/connection來獲取頁面的access_token,並使用它來發布。但是這對於我和用戶來說是一個非常頭痛的問題,因爲這些令牌經常過期(當用戶更改密碼時......),每次發生這種情況發佈都會失敗,我需要通過電子郵件發送用戶再次登錄,所以我可以爲該頁面檢索一個新的access_token。這是一種糟糕的用戶體驗,我試圖找到解決方法。應用程序令牌適用於發佈給用戶,這非常棒,但我找不到使其適用於網頁的方法。有小費嗎?
編輯: 爲了進一步澄清,我現在要求manage_pages和offline_access權限,然後取每個頁面及的access_token用它來發布它。這樣可行。主要問題是令牌過期,即使使用offline_access權限也是如此。令牌過期的最常見原因是用戶更改了密碼。這是我發佈到Facebook頁面時遇到的一個常見錯誤。
Facebook錯誤。鍵入:OAuthException,message:'錯誤驗證 訪問令牌:會話與當前存儲的會話不匹配。這可能是因爲用戶在創建會話 之後更改了密碼,或者由於安全原因Facebook更改了會話。
爲了解決這個問題,我給用戶發郵件並要求他們再次訪問我們的應用程序,當他們這樣做時,我抓住一組全新的access_token進行工作。但這是有問題的,因爲用戶對發生錯誤的原因感到困惑,並責怪我們,並且一些用戶不打開他們的電子郵件,所以問題沒有得到解決,然後他們發現我們的應用程序已停止後生氣幾周前沒有他們要求停止。
這就是爲什麼我希望我可以使用應用程序access_token發佈以避免這些問題。由於它適用於用戶配置文件,我希望它也適用於頁面。但目前爲止沒有運氣,除非我錯過了一些明顯的東西。
好的。你有沒有試過'offline_access'權限? – 2011-12-27 13:06:52