Google api 如何为google项目创建公共api密钥

Google api 如何为google项目创建公共api密钥,google-api,google-apps,google-directory-api,Google Api,Google Apps,Google Directory Api,如何设置谷歌项目api键。我想使用谷歌目录api。并且必须检索域中的用户列表。在google Api explorer()中,我授权并获取域中所有用户的列表。但是,当我使用node.js检索用户列表作为响应时,我得到的是 { "error": { "errors": [ { "domain": "global", "reason": "badRequest", "message": "Bad Request" } ], "code": 400,

如何设置谷歌项目api键。我想使用谷歌目录api。并且必须检索域中的用户列表。在google Api explorer()中,我授权并获取域中所有用户的列表。但是,当我使用node.js检索用户列表作为响应时,我得到的是

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "badRequest",
    "message": "Bad Request"
   }
  ],
  "code": 400,
  "message": "Bad Request"
 }
}
下面是node.js代码的一小段

var request = require('request');

    var request1 = {url : 'https://www.googleapis.com/admin/directory/v1/users',
    headers :{'Authorization' : 'Bearer '+bodyy.access_token},query:{
        domain : 'iritesh.com',key:'AIzaSyBrTEYAap74npiUhKWGp0eLcPY1kBMnTIk'
    },method : 'GET'};
    request(request1,function(err,ress,body){
        console.log('body is');
        console.log(body);
    res.render('index',{title: 'Express'});

    });
我怀疑我是否收到此错误,因为我没有正确设置公钥。我的系统ip地址是103.245.XX.XX,并且我在项目控制台中设置了相同的ip地址。有人能告诉我,当我使用localhost时,我应该填写哪些允许的服务器ip地址。我是否有任何错误?我在管理控制台中也启用了API访问。我的系统管理员是ritesh@iritesh.com域名是iritesh.com。暂时我硬编码了它,请忽略这个。我附加了与之相关的快照


对于初学者用户:列表需要授权,这意味着您需要使用开放式身份验证,而不是使用公共API密钥

文件


答:您的代码无法工作,因为您试图将公共api密钥与需要身份验证的api一起使用

代码中似乎有语法错误:

bodyy.access_token
应该是吗

body.access_token

不,这是一个粗糙的代码,不是误会。我使用授权后会立即清除此代码。首先,我使用OAuth 2.0流并获取管理员帐户的访问令牌。我发送了包含访问令牌的头授权。因此,我的请求已获授权。如果我理解错误,请响应??您是否为web应用程序使用客户端ID?您发布的图片显示了“浏览器应用程序密钥”,它位于公共访问旁边,不是oauth2,仅用于公共访问API,如Google books Google url Shortner,您不需要进行身份验证。你用哪一个?是的,我使用的是客户端ID和OAuth2流,当您看到url并以管理员身份进行调用时,它还包括url中的一个键参数。在这个键参数中,我使用的是公共API键。也许在目录API中,两者都是必需的。我必须在标头中发送access_令牌,在键参数中发送公钥。但是,当我删除请求中的键参数时,我仍然会得到相同错误。请回答如何删除此错误。
body.access_token