2012-02-04 55 views
2

我想使用facebook API將我的android應用程序上傳到facebook粉絲頁面。使用Android API在朋友/粉絲頁面上載圖片

當我看着hackbook android示例應用程序(link)。代碼看起來如下的上傳照片:

Bundle params = new params.putString("url", 
"http://www.facebook.com/images/devsite/iphone_connect_btn.jpg");       params.putString("caption", 
    "FbAPIs Sample App photo upload"); 

Utility.mAsyncRunner.request("me/photos", params, 
    "POST", new PhotoUploadListener(), null); 

此代碼的工作,它張貼我自己的Facebook頁面上的照片。但我不想將照片張貼在我的頁面上,而是放在粉絲頁面上。

正如在facebook文檔中所解釋的,'我'可以通過facebook User_ID進行更改。我嘗試更改「[fanpagename]/photo」或「[fanpageID]/photo」中的「我/相片」,但那不起作用。當我使用用戶名時出現錯誤,當我使用該ID時,將照片張貼在我自己的頁面上。在graphAPI照片文檔(link)中,沒有任何示例或解釋說明如何在粉絲頁面上上傳照片。

params.putString("to", [fbid]); 

不起作用。

有什麼建議嗎?

回答

2

我一直忙於這項研究三整天,並沒有找到我的問題的答案。但我想我有一個解釋。

如果用戶使用官方安卓FB應用程序向friend/fan_page發佈照片,它會使用帶有圖片的「feed」(url-link)。用戶無法在自己的牆上看到他實際上在friend/fan_page上分享或張貼了一張照片。 (例如:「Bob - 在CocaCola上發佈了一張照片」)

這可能是該功能被禁用的原因,因爲開發人員可以使用此功能在沒有用戶意識到的情況下將照片發送給所有類型的朋友/ fan_pages 。

我來到這個假設,因爲我找到了一種解決辦法。首先將照片上傳到用戶自己的相冊。獲取該照片的網址,然後用圖片(url-lnk)在friend/fan_page上發佈「feed」。 Facebook然後給出了這個錯誤:「FBCDN圖像不允許在流中」換句話說,你不能使用FB網站域上的照片鏈接到。所以我認爲在facebook開發部門中存在着相當多的錯誤/懶惰:P這很遺憾,因爲它對移動應用程序來說是一個很好的社交網絡功能。

1

您處在正確的軌道上,但要將照片發佈到網頁上,您需要使用publish_streammanage_pages權限,並使用Page Access令牌來證明您擁有它們。你可以閱讀更多關於此這裏:

  1. http://developers.facebook.com/docs/reference/api/page/#photos
  2. http://developers.facebook.com/docs/reference/api/page/#page_access_tokens

一些示例代碼(使用PHP SDK,但邏輯應該是任何語言相同)是在這裏:https://stackoverflow.com/a/7222078/164439

更新:

如果你想要發佈到頁面的牆/飼料(不是頁面管理員),你可以做到沒有管理頁面權限和訪問令牌的東西。

但它不同於將照片對象發佈到Page的照片集合,這是我以爲你問。您實際上想要對頁面執行常規郵政,並附帶圖片附件。

這裏有一些資源來做到這一點:

  1. Facebook發佈API:http://developers.facebook.com/docs/reference/api/post/
  2. http://facebook.stackoverflow.com/questions/691425/how-do-you-post-to-the-wall-on-a-facebook-page-not-profile
  3. http://facebook.stackoverflow.com/questions/5756474/post-to-facebook-page-wall
  4. Using Facebook Graph to simply post a wall message with just javascript

祝你好運!

+0

您通過'/ me/accounts' API調用獲得頁面訪問令牌,然後使用該令牌而不是常規用戶令牌。 (只需在您的電話中添加'access_token ='來覆蓋默認令牌) – thaddeusmt 2012-02-05 01:29:28

+0

我添加了一些示例代碼的鏈接,希望它有幫助。 – thaddeusmt 2012-02-05 14:29:21

+0

我認爲你實際想要做的是將圖像發佈到他們的Feed,實際上只是創建一個帶圖片附件的Post。我添加了一些鏈接來幫助。歡呼 – thaddeusmt 2012-02-05 20:40:47

相關問題