How can I display the users profile pic using the facebook graph api?

前端 未结 9 624
被撕碎了的回忆
被撕碎了的回忆 2020-12-02 07:24

I would like to display the users profile picture inside of my applications canvas page, is there a way to do that using the graph api?

I know I can do it using FBML

9条回答
  •  死守一世寂寞
    2020-12-02 07:58

    The returned data is the binary data of the image type. If you use JavaScript to retrieve the user photo, please get the photo data as blob type in a XMLHttpRequest, and then retrieve the blob URL from the response. For your reference:

     var request = new XMLHttpRequest;
     var photoUri=config.endpoints.graphApiUri + "/v1.0/me/photo/$value";
     request.open("GET",photoUri);
     request.setRequestHeader("Authorization","Bearer "+token);
     request.responseType = "blob";
     request.onload = function (){
            if(request.readyState == 4 && request.status == 200){
                   var image = document.createElement("img");
                   var url = window.URL || window.webkitURL;
                   var blobUrl = url.createObjectURL(request.response);
                   image.src = blobUrl;
                   document.getElementById("UserShow").appendChild(image);
            }
     };
     request.send(null); 
    

提交回复
热议问题