2011-12-04 66 views
3

野兔快事實七地獄(飼料的問題,照片張貼問題等)

  • 平臺:ActionScript 3的與Facebook
  • SDK編譯器:是FlashDevelop
  • 編程器:獲取一個頭痛:(

我一直在編寫一個應用程序,它可以讓你從網絡攝像頭拍攝照片,並將其張貼到像我的應用程序這樣命名的相冊中的用戶照片(這是FB在您未指定相冊時執行的操作),然後 該照片會鏈接到一個新的Feed帖子中,並將其上傳到我的客戶的Web服務器,我的客戶可能會批准將其發佈到其公司的Facebook頁面上。

這聽起來很簡單,但我遇到了各種各樣的問題,改變了應用程序數百次(在Facebook改變政策混亂之後),但我似乎無法獲得滿意的結果。

這是我試過的方法:

  1. 上傳照片到用戶的應用程序名稱自動創建的相冊,接收來自Facebook的uploded照片的URL,然後給予的URL飼料被創建,在此方法:

    url = Facebook.getImageUrl(response.id);

    var data:Object = { message:'testest', picture:url, description: 'test' };

    Facebook.api("/me/feed", feedresponse, data, "POST");

這工作正常,但我遇到了一些更新後可怕的「(#341)達到Feed動作請求限制」。這對於我正在製作的應用程序來說是不可接受的。

  1. 所以我讀的Facebook改變了政策,他們現在建議通過發行Facebook.ui('feed', data);利用現有飼料創建對話框讓我重複步驟1),照片上傳到用戶的專輯,從得到的URL ID,在Feed創建對話框中使用該URL,但很快我遇到了可怕的「FBCDN圖像不允許在流中」,wtf。

3)所以我試圖讓圖像更小,有一些隨機的互聯網民間建議,但錯誤仍然存​​在。

4)然後我試圖承載這些圖片我自己,因爲在客戶端的Web服務器,像一些其他的互聯網衝浪者建議,但這並不工作過:

var data:Object = { 
    message: "Hey!", 
    picture: "https://<domain>/facebookapp/bin/immagini/27.jpg", 
    link: "https://<domain>/facebookapp/bin/immagini/27.jpg", 
    name: "moo photos", 
    caption: "moo photos", 
    description: "You took a picture! yay!" 
}; 

Facebook.ui('feed', data); 

正確時,將出現飼料對話Feed帖子已創建,但您無法看到圖片。應直接顯示在Feed中的圖片僅作爲用戶點擊的鏈接。

與圖形API檢查飼料的原始數據表明,「圖片報」屬性不被設置到飼料中,像它在1)的方式做:

"message": "ppipipi", 
     "link": "https://<domain>/facebookapp/bin/immagini/27.jpg", 
     "name": "https://<domain>/facebookapp/bin/immagini/27.jpg", 
     "caption": "lol my heart out", 
     "description": "die in pain!", 
     "icon": "https://www.facebook.com/images/icons/default_app_icon.gif", 
     "actions": 

5)所以,我想把我從前面的步驟中得到的FBCDN圖像鏈接,它的工作!不是FBCDN不允許?似乎已經在服務器上的那些被接受?

6)我改變了應用程序的流量,現在當我更新的照片,以用戶的相冊,像這樣:

var data:Object = { message:'TESTTESTTEST', fileName:'FILE_NAME', image:bitmapdata}; 
     Facebook.api("/me/photos", uploadDone, data, "POST"); 

uploadDone不會被調用,或者如果上傳的實際工作,還是不行!

我在做什麼錯?

+0

好的一個小問題是uploadDone的簽名與預期的不同,所以現在它被調用,但對於其他問題仍然沒有什麼大問題。 –

+0

好的,修復了圖片的提要對話框。使用HTTP而不是HTTPS,不確定是否因爲服務器的配置對於證書不是100%正確的,或者它只是不喜歡照片中的https? –

+0

現在的問題是,它使用我的服務器來託管圖像,有沒有辦法將圖像上傳到facebook相冊中的飼料,所以Facebook將託管圖像? –

回答

0

正如您的文章所述,這是一個需要在「策略更改」之後進行修改的應用程序。也許你錯過了Facebook禁用了message參數。

如果您正在啓動與FB.ui()的對話框,現在由用戶輸入他/她想要的消息。

不知道這是否會解決您的問題,但我有一些Facebook的經驗完全忽略了我有一個職位,當它有message參數。

+0

它不,但它是有道理的,它是有用的知道,謝謝:) –