Googleは、黒人コミュニティのための人種的衡平の促進に取り組んでいます。 方法をご覧ください。
このページは Cloud Translation API によって翻訳されました。
Switch to English

認可リファレンス

承認コード要求

リクエストタイプに応じて、異なるコード長とTTL(Time-to-Live)値を実装します。

フロー TTL コード長
ウェブ 10分 16文字
ピン 48時間 8文字

パラメーター

Nest APIでサポートされている認証パラメータは次のとおりです。

名前タイプ必須説明
client_id ストリングはい OAuthクライアントページで利用できます。
redirect_uri ストリング番号クライアントに複数のリダイレクトURIが構成されている場合、これを使用して目的のリダイレクトURIを指定します。デフォルトのリダイレクトURIを使用する場合は省略します。

内の他のパラメータ含まれておりません redirect_uri自体のパラメータを、それはURIが正確にあなたのクライアントのために設定されているリダイレクトと一致する必要があります。
state ストリングはいこれを使用して、推測できない値を指定し、 CSRF攻撃に対抗します。それ以外の場合は、デフォルト値のSTATE使用します。

PINベースの認証エラーメッセージ

PINベースの認証コード要求中に、次のエラーメッセージがユーザーに表示される可能性があります。

ユーザーエラーメッセージ説明
クライアントIDまたは状態パラメーターがありません。 認証URLにclient_idまたはstateパラメータ、あるいはその両方がありません。渡された認証URLが完全かつ正確であることを確認してください。
おっとっと!エラーが発生しました。もう一度やり直してください。 このエラーは以下から発生します。
  • Nestサービスがダウンしています。 Nestサービスが復元されるまで待ちます。
  • 指定されたclient_idクライアントが存在しません。渡された許可URLが正しいclient_idを使用していることを確認してください。
Company Nameへの接続は現在使用できません。詳細については、Nestにお問い合わせください。 クライアントがユーザークォータを超えました。クライアントを送信して審査を受け、さらにユーザーを追加します。

URIベースの認証エラー応答をリダイレクトする

すべての応答について、content-type: application/json

必要なパラメーターがありません

細部
HTTPステータスコード 400不正な要求
{
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
説明 必須パラメーターPARAM_NAMEが認証コード要求にありません。

redirect_uriは事前登録されていません

細部
HTTPステータスコード 400不正な要求
{
"error":"input_data_error",
"error_description":"redirect_uri not pre-registered"
}
説明 アクセストークンリクエストで使用されるredirect_uriパラメータが、クライアントに設定されているリダイレクトURIのいずれとも一致しません。

アクセストークンリクエスト

このOAuth標準に準拠することをお勧めします。このOAuth標準は、リクエスト本文にクライアントの認証情報を含めることでセキュリティを強化します。ヘッダーにクライアント資格情報を含む呼び出しは引き続き機能しますが、お勧めできません。

アクセストークン要求は、HTTP POST要求の形式です。

パラメーター

名前タイプ必須説明
code ストリングはいアプリがNestデータへのアクセスを許可することに顧客が同意した後に渡される認証コード。この値は、成功した認証コード要求によって提供されます。

承認の設定方法を学ぶ
client_id ストリングはい OAuthクライアントページで利用できます。
client_secret ストリングはい OAuthクライアントページで利用できます。アプリケーションキーとも呼ばれます。
grant_type ストリングはいこの文字列でなければなりません: authorization_code

応答

すべての応答について、content-type: application/json

HTTPステータスコード説明
200 OK アクセストークンが返されます。 Nestサービスの呼び出しでアクセストークンを使用します。 LONGは、トークンの有効期限が切れるまでの秒数です。 {
"access_token":"STRING",
"expires_in":LONG
}

アクセストークンの有効期間

アクセストークンは実質的に無期限であるため、 更新トークンはサポートされていません。 WebおよびPINベースの認証フローの詳細については、 認証の概要を参照してください。

アクセストークンのエラー応答

すべての応答について、content-type: application/json

認証コードが期限切れです

細部
HTTPステータスコード 400不正な要求
{
"error":"oauth2_error",
"error_description":"authorization code expired"
}
説明 認証コードの有効期限が切れています。アクセストークンを要求するには、新しい認証コードが必要です。

認証コードが見つかりません

細部
HTTPステータスコード 400不正な要求
{
"error":"oauth2_error",
"error_description":"authorization code not found"
}
説明 codeパラメータが無効です。正しい認証コードを使用していることを確認してください。

クライアントがアクティブではありません

細部
HTTPステータスコード 403禁止します
{
"error":"client_not_active",
"error_description":"client is not active"
}
説明 正しいパラメータを使用していることを確認してください。パラメータが正しく、エラーが一部の認証方法でのみ発生する場合(たとえば、認証はPostmanを使用して正常に実行され、Curlを使用しない場合)、構文に問題がある可能性があります。

このエラーは、クライアントが非アクティブ化されている場合にも発生します。

クライアントシークレットが見つかりません

細部
HTTPステータスコード 400不正な要求
{
"error":"oauth2_error",
"error_description":"client secret not found"
}
説明 client_secretパラメータが無効です。正しいclient_secret値を使用していることを確認してください。

必要なパラメーターがありません

細部
HTTPステータスコード 400不正な要求
{
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
説明 必須パラメーターPARAM_NAMEがアクセストークンリクエストにありません。

redirect_uriは許可されていません

細部
HTTPステータスコード 400不正な要求
{
"error":"input_error",
"error_description":"redirect_uri not allowed"
}
説明 redirect_uriパラメータがアクセストークンリクエストで使用されました。