提取Facebook个人资料图片

时间:2012-10-08 10:11:37

标签: javascript facebook jsp profile image

我正在Windows 8中构建一个metro应用程序,我希望它能与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()

response =“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。

那我该如何拍照?

感谢。

2 个答案:

答案 0 :(得分:1)

查询此网址时

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

您没有获得图像的“路径”。你得到了图像本身。我不确定您是如何实现个人资料图片的,但我知道在常规网页上,您只需将该网址放在src代码的<img>中。

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

答案 1 :(得分:0)

function getFacebookPicture(facebookUser) {
    return "https://graph.facebook.com/" + facebookUser.id + "/picture";
}//getPic()

开始阅读here以了解如何获取访问令牌。