2012-08-14 45 views
0

我已經編寫了一個應用程序,可以將來自命令行的帖子寫入特定的用戶帳戶。這與所需的權限一起成功地發佈帶有位置和地點信息的消息。從命令行將照片上傳到相冊

我的下一步是上傳圖片到用戶帳戶,但問題是,我發現了以下錯誤:

用戶訪問令牌需要請求該資源。

現在執行API發佈的腳本不是從瀏覽器運行,而是作爲使用PHP實現的Linux服務守護程序運行。該腳本包含一個遊戲循環,用於發佈消息,並在一天中的某些時間將照片上傳到參與者帳戶,模擬他們的個人資料參加的假期。

所以從我的應用程序腳本中調用BaseFacebook ::的getUser的時候,我得到的0,這意味着一個結果,BaseFacebook :: getAccessToken將返回應用訪問令牌,而不是用戶訪問令牌。

我也查了,並注意到保護方法BaseFacebook :: getUserAccessToken不會返回一個有效的標記,因爲在命令行應用程序有沒有會話,它有張貼到不同的用戶帳戶相繼分離,在比賽循環期間。

正如我所提到的,我能夠發佈帖子,甚至可以將帖子附加到我的帖子中,但有沒有辦法將照片上傳到不同的用戶帳戶,而無需用戶訪問令牌?

我明白,我可以使用offline_access,但被於2012年10月3日,也就是當我們的客戶應用程序就已經被現場運行時間棄用。

然而,我們的應用程序的玩家/用戶不時會訪問應用程序,那麼是否有可能使用瀏覽器中的令牌,將其存儲在我們的數據庫中,並且只是利用命令行應用程序中的令牌?

回答

1

The players/users of our app do however visit the application from time to time, so would it be possible to use a token from the browser, store it in our database, and just utilize that from the command line application?

這就是要走的路。

本文檔介紹瞭如何處理這些令牌,如何獲得長期的,等等 - https://developers.facebook.com/roadmap/offline-access-removal/

而且https://developers.facebook.com/blog/post/2011/05/13/how-to--handle-expired-access-tokens/也未嘗應該已經閱讀。