Facebook の Graph API (v2.5) User Photo Edge によると、Facebook に写真を公開する方法は 2 つあります。
1: 写真を multipart/form-data として添付します。オブジェクトの名前は問題ではありませんが、歴史的に人々は source を写真のパラメーター名として使用してきました。これがどのように機能するかは、投稿を行うためにたまたま使用している SDK によって異なります。
2: url パラメーターを使用して公開することにより、既にインターネット上にある写真を使用します。
FB.api(
"/me/photos",
"POST",
{
"url": "{image-url}"
},
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);
キャンバスから base64 画像データを取得したので、最初の方法 (マルチパート)を使用する必要があります。
ドキュメントがあまり有益ではないため、これは混乱しているようです。image の urlData は、他のパラメーターと共にマルチパート データ内の何らかの形式でエンコードされることを理解しています。Javascript SDK とグラフ API v2.5 を使用してこれを行う方法について、実際に機能するサンプル コードや適切な説明が見つかりません。スタックオーバーフローで徹底的に検索した後でも。これに関して、stackoverflowで部分的に回答された/回答されていないさまざまな質問を見てきました...しかし、それでも機能しません。
助けてください。ありがとう !
同様の質問
Facebook Javascript フォーム データ 写真のアップロード: アップロード ファイル エラーが必要
Javascript: グラフ API を介してキャンバスから FB に画像を
アップロード Base64 画像をアップロード Facebook グラフ API - Javascript API がここにあるかどうか不明
[編集] - 既に試したコード。
var ctx = document.getElementById('canvas2');
urldata=ctx.toDataURL("image/png");
FB.api('/photos', 'POST', {
message: 'testing Graph API',
access_token: accessToken,
url: urldata,
no_story:true
}, function (response) {
if (!response || response.error) {
console.log('Error occured:' + response.error.message);
} else {
alert('Post ID: ' + response.id);
}
}
);
応答 -「エラーが発生しました:(#324) イメージ ファイルが見つからないか無効です」