我想用Proximity Google API访问Postman chrome app。我已经关注邮递员和谷歌开发网站的教程,但我仍然收到401错误消息。
我在做什么?
要使用Proximity API,必须先在Google Dev控制台中启用它。使用this教程我已经为我的项目启用了Proximity API支持
根据this教程,我需要获取客户端ID和密码。这是我感到困惑的地方。凭证 - >添加凭证 - > OAuth2.0客户端ID->选择Chrome App单选按钮(因为我使用的是Postman) - >输入Postman的Chrome网上商店URL的最后一部分[这是fhbjgbiflinjbdggehcddcbncdddomop]->点击创建按钮这些步骤只会生成一个客户端ID,而不是秘密..我做错了什么?
从Google Dev控制台,可以下载具有客户端ID,auth URI和令牌URI的JSON文件
我下载了这个,但如果我使用Postman,这没有什么帮助。我猜这个JSON文件可以包含在JS应用程序中。
并且,一旦我点击调试URL,我会看到以下屏幕
我到目前为止找到的最好方法是去Oauth游乐场:https://developers.google.com/oauthplayground/
在REST API请求的HTTP标头中,添加:“授权:承载”。在这里,授权是关键,而“承载者”。例如:“授权:bearer za29.KluqA3vRtZChWfJDabcdefghijklmnopqrstuvwxyz6nAZ0y6ElzDT3yH3MT5”
邮递员将查询模仿Web应用程序的Google API
生成OAuth 2.0令牌:
getpostman.com
添加到授权域。单击保存。
转到Google控制台 - > API - >凭据
单击“创建凭据” - >“OAuth客户端ID” - >“Web应用程序”
姓名:'getpostman'
授权重定向URI:https://www.getpostman.com/oauth2/callback
复制生成的Client ID
和Client secret
字段供以后使用https://www.getpostman.com/oauth2/callback
验证网址:https://accounts.google.com/o/oauth2/auth
访问令牌网址:https://accounts.google.com/o/oauth2/token
客户ID:在步骤2中生成的Client ID
(例如,'123456789012-abracadabra1234546789blablabla12.apps.googleusercontent.com')
客户端密码:在步骤2中生成的Client secret
(例如,'ABRACADABRAus1ZMGHvq9R-L')
范围:请参阅Google文档了解所需的OAuth范围(例如,https://www.googleapis.com/auth/cloud-platform
)
州:空
客户端身份验证:“作为基本身份验证标头发送”
点击“请求令牌”和“使用令牌”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"
}
]
}
}
}
这是一个老问题,但没有选择答案,我自己就解决了这个问题。这是我的解决方案:
{
"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"
}
]
}