2016-01-13 96 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