-1

Windows 8 でメトロ アプリケーションを構築していますが、Facebook と同期させたいと考えています。私のjspファイルに画像を表示したいと思います。ユーザーが受信した Facebook 通知をクリックすると、jsp ファイルが表示されます。

ユーザーの名前だけを尋ねると成功しましたが、プロフィール写真を尋ねると障害に直面します。

Facebook 用の XMLHTTPRequest を作成すると、Facebook から "JFIF" という応答が返されます。

function getFacebookPicture(facebookUser) {
    var request = new XMLHttpRequest();
    var str = "https://graph.facebook.com/" + facebookUser.id + "/picture";
    request.open("GET", str, false);
    request.send();
    var response = request.responseText;
    return response;
}//getPic()

応答 = "JFIF"。

私はそれを受け取り、通知を送信します。

 function sendNotification2() {

    var uid = facebookUser.id;
    var picture = getFacebookPicture(facebookUser);


    var request = new XMLHttpRequest();
    var appID = "XXXXXX"; // the app id
    var appSecret = "YYYYYYYY"; // the app secret 
    var notificationContent = "YO yo yo"; // the message on the notification.
    var str = "https://graph.facebook.com/" +
        uid + "/notifications?access_token=" +
        appID + "|" + appSecret + "&href=?name=" + facebookUser.name +"?picture="+ picture + "&template=" +notificationContent + "&method=POST&format=json";

    request.open("GET", str, false);
    request.send();
    var response = request.responseText;
}

私が得たエラーは

{
   "error": {
      "type": "OAuthException",
      "message": "An access token is required to request this resource."
   }
}

ログイン時に read_friendlists、manage_notifications、publish_stream、offline_access、user_photos の権限をアプリに追加しました。

では、どうすれば画像を取得できますか?

ありがとう。

4

2 に答える 2

1

このURLを照会すると-

https://graph.facebook.com/USER_ID/picture

画像への「パス」は取得できません。画像自体を取得します。プロフィール写真をどの程度正確に実装しているかはわかりませんが、通常のWebページでは、そのURLをタグのに配置するだけsrcです<img>

<img src="https://graph.facebook.com/4/picture" width="50" >

于 2012-10-08T10:16:03.340 に答える
0
function getFacebookPicture(facebookUser) {
    return "https://graph.facebook.com/" + facebookUser.id + "/picture";
}//getPic()

アクセストークンを取得する方法については、こちらを参照してください。

于 2012-10-08T11:00:40.637 に答える