2012-01-18 60 views
3

我正在創建一個小繪畫應用程序,我想給我的畫家在Facebook上發佈他們的作品的選項。我正在使用Raphael JS創建圖像。然後,我使用HTML5 Canvas方法toDataURL("image/png")創建一個包含圖像的.png數據的JavaScript變量。toDataURL(「image/png」)to Facebook上傳

現在我有這個數據,我不知道如何讓人們把它提交給Facebook!我嘗試使用FB.ui()函數,但它似乎只讓我分享建立的鏈接。如果我嘗試分享存儲的數據,Facebook回覆我的網址太長。我怎樣才能將數據上傳到Facebook而不是鏈接?

這是不可能的嗎?我到處尋找,我還沒有找到合適的答案。我知道Facebook是可怕的記錄!

謝謝!

+0

我的直覺反應是,您很可能必須將圖像數據發送到您自己的服務器,該服務器將託管圖像並提供一個有效的HTTP URL返回到您的應用程序以傳遞到'FB.ui'呼叫。 – josh3736 2012-01-18 23:08:32

回答

3

圖API中用戶對象的照片連接(https://developers.facebook.com/docs/reference/api/user/)具有source屬性。這是放置照片的數據內容(多部分/表單數據)的地方。

將照片數據上載到用戶帳戶後,會將其放置在專門用於您的應用程序的相冊中。您將獲得來自FB.api('me/photos','post',params,callbackFn);呼叫的新照片的編號。

使用該照片ID,你可以得到它的網址和使用它,但是你想要的。你甚至可以使用它張貼到用戶的牆上供所有人看。

+0

謝謝DMCS,我會看看這個,看看它是否有效。我知道必須有一種方法。 – Alex 2012-01-19 03:09:36

+1

我有一個「(#324)需要上傳文件」錯誤。現在有人如何解決它? – vrunoa 2013-06-16 19:50:45