野兔快事實七地獄(飼料的問題,照片張貼問題等)
- 平臺:ActionScript 3的與Facebook
- SDK編譯器:是FlashDevelop
- 編程器:獲取一個頭痛:(
我一直在編寫一個應用程序,它可以讓你從網絡攝像頭拍攝照片,並將其張貼到像我的應用程序這樣命名的相冊中的用戶照片(這是FB在您未指定相冊時執行的操作),然後 該照片會鏈接到一個新的Feed帖子中,並將其上傳到我的客戶的Web服務器,我的客戶可能會批准將其發佈到其公司的Facebook頁面上。
這聽起來很簡單,但我遇到了各種各樣的問題,改變了應用程序數百次(在Facebook改變政策混亂之後),但我似乎無法獲得滿意的結果。
這是我試過的方法:
上傳照片到用戶的應用程序名稱自動創建的相冊,接收來自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動作請求限制」。這對於我正在製作的應用程序來說是不可接受的。
- 所以我讀的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
不會被調用,或者如果上傳的實際工作,還是不行!
我在做什麼錯?
好的一個小問題是uploadDone的簽名與預期的不同,所以現在它被調用,但對於其他問題仍然沒有什麼大問題。 –
好的,修復了圖片的提要對話框。使用HTTP而不是HTTPS,不確定是否因爲服務器的配置對於證書不是100%正確的,或者它只是不喜歡照片中的https? –
現在的問題是,它使用我的服務器來託管圖像,有沒有辦法將圖像上傳到facebook相冊中的飼料,所以Facebook將託管圖像? –