のデータをフェッチするとき、私は現在、NESTのAPIを使用して、非常にシンプルなアプリを開発しています:Tizenの摩耗:401応答エラー巣のAPIから
- Tizen 2.3.1 SDK、
- ウェブベース(JS、HTML、CSS )アプリケーション、
- ウェアラブルデバイスは
- サムスンギャラクシーS2ギアを動力見
- スタンドアロンアプリ、対象と
問題: NEST APIからデータを取得しようとすると401エラーが表示されます。
まず私は、トークン取得していますし、それは完全に正常に動作します:
function authNest() {
$.ajax({
url: authUrl,
type: "POST",
dataType: "json",
success: function(data) {
console.log(data.access_token);
getNest(data.access_token);
},
error: function(err) {
console.log(err);
}
});
インターネット接続が動作し、私は適切な権限を持っている、私はきちんと携帯電話とペアリングしていますことを意味します。 トークンは確実に機能します。私はPostman、curlコマンドとアンドロイド用のRESTクライアントアプリ(3種類のソリューションは正常に動作します)で確認しました。
function get(token) {
$.ajax({
url: "https://developer-api.nest.com",
beforeSend: function(xhr) {
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("authorization", "Bearer " + token);
},
method: 'GET',
success: function (data) {
alert(JSON.stringify(data));
},
error: function(err){
console.log(JSON.stringify(err));
}
});
しかし、その後、私はエラー応答を取得しています:私はそのトークンとREST API呼び出しを作ってるんだ、それはそのように見えるのトークンを取得した後
。私もXMLHttpRequest(ajax/jqueryなし)のみを使用してリクエストを試みました - 私は同じエラー応答を得ています。
エラー:
{ "readyState":4,
"responseText":"{\"error\":\"unauthorized\",\"type\":\" https://developer.nest.com/documentation/cloud/error-messages#auth-error \",\"message\":\"unauthorized\",\"instance\":\"bfd045c0-e7ff-4a75-bbba-e6199be03c4a\"}", "status":401, "statusText":"Unauthorized" }
だから私は少なくとも、サーバの応答を取得しています。しかし、私は承認していないし、私は完全にWTFを知りません。
TizenウェアにoAuth2.0の問題がいくつかありますか? 以前にトークンが返されたにもかかわらずサーバーが要求を受け入れたくないのはなぜですか? いくつかの隠れた制約がありますか?
もちろん、config.xmlでインターネット、network.internet、network.wifi、ダウンロード、場所などの機能と特権を定義しました。
Plsのヘルプ:)
こんにちは。迅速な対応のためにthx。私はすでに別の形式でヘッダを追加しようとしました。動いていない。 –
あなたはapiに何かを渡していませんか? – madalinivascu
こんにちは。トークンやヘッダーのような基本情報を渡していますが、主な目的はAPIからjsonを取得することです。 :) –