2017-02-26 11 views
0

データを要求する際に問題があります。APIエクスプローラで試しても問題ありませんが、それはちょうど200のステータスと奇妙な文字で満たされたボディで応答します。liveelog-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. 

REPONSEはいっていると私はそれのコピー/貼り付け、すべてにはポイントがないことを推測します。私は実際にBearerという言葉でトークンを送る必要があるかどうかは分かりませんが、これはステータスコード200を与えたものです。

答えて

1

あなたはgzipエンコーディングをリクエストしているので、 、gzip:trueをオプションに追加するだけです。

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を見なければならないだけで、実際のライフログデータを必要

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

・ホープ、このことができます。

乾杯

関連する問題