Proximity Google API を使用してアクセスしようとしています Postman chrome app 。私は郵便配達員とグーグル開発ウェブサイトのチュートリアルに従いましたが、まだ401エラーメッセージを受け取っています。
私は何をしていますか?
Proximity APIを使用するには、まずGoogle Devコンソールで有効にする必要があります。 this チュートリアルを使用して、プロジェクトのProximity APIのサポートを有効にしました
this チュートリアルによると、クライアントIDとシークレットを取得する必要があります。これは私が混乱しているところです。資格情報->資格情報の追加-> OAuth2.0クライアントID-> Chromeアプリラジオボタンの選択(Postmanを使用しているため)-> PostmanのChrome WebストアURLの最後の部分を入力[これは fhbjgbiflinjbdggehcddcbncdddomop] -> hit createボタンこれらの手順では、クライアントIDのみが生成され、シークレットは生成されません。
Google Devコンソールから、クライアントID、認証URI、トークンURIを持つJSONファイルをダウンロードできます
これをダウンロードしましたが、Postmanを使用している場合、これはほとんど役に立ちません。このJSONファイルは、JSアプリケーションに含めることができるものだと思います。
そして、デバッグURLをクリックすると、次の画面が表示されます
Postmanは、Webアプリケーションを偽装するGoogle APIを照会します
OAuth 2.0トークンを生成します。
OAuth 2.0クライアントIDを作成します
getpostman.com
を承認済みドメインに追加します。保存をクリックします。https://www.getpostman.com/oauth2/callback
Client ID
およびClient secret
フィールドをコピーしますPostmanで[承認]タブを選択し、[OAuth 2.0]タイプを選択します。 [新しいアクセストークンを取得]をクリックします
https://www.getpostman.com/oauth2/callback
https://accounts.google.com/o/oauth2/auth
https://accounts.google.com/o/oauth2/token
Client ID
(例: '123456789012-abracadabra1234546789blablabla12.apps.googleusercontent.com')Client secret
(例: 'ABRACADABRAus1ZMGHvq9R-L')https://www.googleapis.com/auth/cloud-platform
)については、Googleドキュメントを参照してくださいこれまでに見つけた最良の方法は、Oauthプレイグラウンドに行くことです: https://developers.google.com/oauthplayground/
REST APIリクエストのHTTPヘッダーに、「Authorization:Bearer」を追加します。ここでは、承認がキーであり、「ベアラー」です。例:「承認:Bearer za29.KluqA3vRtZChWfJDabcdefghijklmnopqrstuvwxyz6nAZ0y6ElzDT3yH3MT5」
postmanのoauth2でこれらの設定を使用します。
アクセストークンURL = https://accounts.google.com/o/oauth2/token
SCOPE = https://www.googleapis.com/auth/admin.directory.userschema
{
"fields": [
{
"fieldName": "role",
"fieldType": "STRING",
"multiValued": true,
"readAccessType": "ADMINS_AND_SELF"
}
],
"schemaName": "SAML"
}
SCOPE = https://www.googleapis.com/auth/admin.directory.user
PATCH https://www.googleapis.com/admin/directory/v1/users/[email protected]
{
"customSchemas": {
"SAML": {
"role": [
{
"value": "arn:aws:iam::123456789123:role/Admin,arn:aws:iam::123456789123:saml-provider/GoogleApps",
"customType": "Admin"
}
]
}
}
}
これは古い質問ですが、選択された答えはなく、この問題を自分で解決しました。私のソリューションは次のとおりです。
そもそも、Google APIを使用するように設定されていることを確認してください。 Googleの 前提条件のリスト を参照してください。私はGoogleマイビジネスで働いていたので、それも Get Started プロセスで行った。
OAuth 2.0プレイグラウンド では、ステップ1では認証するAPIを選択する必要があります。ケースに該当するものを選択または入力します(Googleマイビジネスの場合は、「 https://www.googleapis.com/auth/plus.business.manage 」を入力する必要がありました独自のスコープ」入力フィールド)。 注:これは、 Get Started guideの「Make a simple HTTP request」セクションのステップ6で説明したものと同じです。
認証に成功すると、OAuthプレイグラウンドの「ステップ1の結果」ステップで「アクセストークン」が返されます。このトークンをクリップボードにコピーします。
Postmanを開き、必要に応じてコレクションを開きます。
Postmanで、要求タイプとして「GET」が選択されていることを確認し、要求タイプのドロップダウンの下にある「承認」タブをクリックします。
[認証] [タイプ]ドロップダウンメニューで、[ベアラートークン]を選択します
OAuthプレイグラウンドからコピーした以前にコピーした「アクセストークン」を、Postmanに表示される「トークン」フィールドに貼り付けます。
もうすぐ!動作するかどうかをテストするには、PostmanのメインURL入力バーに https://mybusiness.googleapis.com/v4/accounts/ を入力し、送信ボタンをクリックします。次のような応答でアカウントのJSONリストを取得する必要があります。
{
"accounts": [
{
"name": "accounts/REDACTED",
"accountName": "REDACTED",
"type": "PERSONAL",
"state": {
"status": "UNVERIFIED"
}
},
{
"name": "accounts/REDACTED",
"accountName": "REDACTED",
"type": "LOCATION_GROUP",
"role": "OWNER",
"state": {
"status": "UNVERIFIED"
},
"permissionLevel": "OWNER_LEVEL"
}
]
}