2017-02-26 92 views
0

我在請求數據時遇到問題,它在我嘗試使用API​​ Explorer時正常工作,但是當我要從我的web應用程序發出請求它只是以200的狀態和充滿怪異字符的身體作出響應。嘗試從lifelog-api請求數據時出現奇怪的響應

請求:

const options = { 
     url: 'https://apigateway.lifelog.sonymobile.com/v1/users/me/activities', 
     method: 'GET', 
     headers: { 
      'Accept': 'application/json', 
      'Authorization': "Bearer " + access_token, 
      'Accept-Encoding': 'gzip',   
      'Content-Encoding': 'gzip' 


     } 
    }; 
    request(options, function(err, res, body) { 
     console.log(JSON.stringify(res)) 
    }); 

響應:

{"statusCode":200,"body":"\u001f?\b\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000???Xmo#E\u0012?+?_o?S?U?/????\u0017-???8V?Bh????u??\u0010V???W?\rd??e$\u0004? ????kMU?O=?w?]?_?????w?U?X. 

的效應初探不斷去,我想有一份中沒有點/粘貼它的全部。我不確定我是否真的需要發送帶有Bearer字樣的令牌,但這是給我一個200的狀態代碼。

回答

1

因爲您正在請求gzip編碼,您需要告訴請求以期望gzip內容,只需添加gzip:真正給你選擇。

const options = { 
    url: 'https://apigateway.lifelog.sonymobile.com/v1/users/me/activities', 
    method: 'GET', 
    headers: { 
     'Accept': 'application/json', 
     'Authorization': 'Bearer ' + access_token, 
     'Accept-Encoding': 'gzip',   
     'Content-Encoding': 'gzip' 
    }, 
    gzip: true 
}; 

然後你應該看看身體PARAM的,而不是你RES只想實際生活日誌數據

request(options, function(err, res, body) { 
    console.log(body) 
}); 

希望這有助於。

乾杯