2016-01-13 67 views
0

我已经在服务器端,这些流星HTTP.get方法尝试:流星JS HTTP GET档案相片 - 服务器端

HTTP.get(`http://graph.facebook.com/${fbUserId}/picture?callback=?`, { 
    headers: { 
    'content-type': 'application/json', 
    } 
}, function(data){ 
    console.log(data); // [Error: failed [400]] 
}); 

HTTP.get(`https://graph.facebook.com/${fbUserId}/picture`, { 
    headers: { 
    'content-type': 'application/json', 
    } 
}, function(data){ 
    console.log(data); // null 
}); 

然而,这部作品在使用jQuery的客户端:

$.getJSON(`http://graph.facebook.com/${fbUserId}/picture?callback=?`, function(data){ 
    console.log(data); // {url: 'http://img-url...'} 
}); 

任何想法?

UPDATE @Ethaan答案工作(有一些补充):

function _fetchUserFacebookThumbnail(fbId){ 
    return new Promise(function(resolve, reject){ 
     HTTP.get(`https://graph.facebook.com/${fbId}/picture/?redirect=0&type=square`, function(error, data){ 
      resolve(data['data']); 
     }); 
    }); 
} 

根据FB开发者文档中,?redirect=0查询请求JSON对象,而不是图像本身。

回答

1

你在第二个获得null因为没有错误,因此这意味着第二个例子中的工作,尝试用errordata而不是仅仅error

此外,如果你只想获得picuture,你可以链接到这个。

facebookPicture = "https://graph.facebook.com/" + userFacebookId + "/picture/?type=large";

顺便说一句,在这里头起坐= P墨西哥开发商。

+0

你说得对!谢谢你的帮助。 – Gus