わかりましたので、少し助けが必要です。これは私がこれまでに行っていることです。
Web 認証ブローカーの例を使用して、Facebook のアクセス トークンを取得し (もちろん、投稿できるように「publish_stream」スコープを追加しました)、ローカル設定に保存しました。
function callbackFacebookWebAuth(result) {
var url = result.responseData;
var param1 = url.split("&");
var param2 = param1[0].split("=");
localSettings.values["Facebook.AccessToken"] = param2[1];
}
これはうまくいきます。成功。
次に、次のような写真をアップロードしようとしています。
var accessToken = localSettings.values["Facebook.AccessToken"];
console.log(accessToken);
var blob = canvas.toDataURL('multipart/form-data');
console.log(blob);
var filename = "photo.jpg";
var data = new FormData();
data.append("access_token", accessToken);
data.append("message", "test");
data.append("source\"; filename=\"" + filename + "\"", blob);
WinJS.xhr({
type: "POST",
url: "https://graph.facebook.com/me/photos?access_token=" + accessToken,
data: data,
}).then(function (response) {
console.log("success");
}, function (errorResponse) {
var result = JSON.parse(errorResponse.responseText);
console.error(result.error.message);
});
コードはうまくいくようです。テキストを /feed にのみ投稿してこれをテストしたところ、機能しました。ただし、/photos に投稿すると、問題が発生します。
Canvas のコンテンツを dataUrl に変換しました (この POST コマンドで提案されている「multipart/form-data」)
Synergistがこのスレッドで提案したハックを使用します。
ただし、次のエラーが表示されます。
(#1) An unknown error occurred
だから今私は立ち往生しています。
私は一日中グーグルで検索しましたが役に立たなかったので、コミュニティに助けを求めています。誰かがコードを見て、私が間違っている可能性があることを教えてもらえますか??
ありがとうございます!
ところで、Visual Studio を使用しています。これは Windows 8 アプリ用です。