当前位置: 首页 > 知识库问答 >
问题:

尝试通过p12访问Google Directory API引发未授权错误

景建业
2023-03-14
from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
import json
import base64
import httplib2

f = file('tara1-553d334b8702.p12', 'rb')
key = f.read()
f.close()

credentials = ServiceAccountCredentials.from_p12_keyfile(
    'googleapptara@tara1-167105.iam.gserviceaccount.com',
    'tara1-554d335b8702.p12',
    private_key_password='notasecret',
    scopes=['https://www.googleapis.com/auth/admin.directory.user.readonly','https://www.googleapis.com/auth/admin.directory.user'] 
)

delegated_credentials=credentials.create_delegated('tara.gurung@orgemail.net)

http = httplib2.Http()
http = credentials.authorize(http)


DIRECOTORY = build('admin', 'directory_v1', credentials=credentials)
maxResults=10,orderBy='email').execute()
results = DIRECOTORY.users().list(domain='domainnamehere.net').execute()
users = results.get('users', [])

print users

在这里,我尝试使用p12安全html" target="_blank">文件进行服务器到服务器的身份验证,并尝试抓取域中的所有用户。

我已经通过3LEGS身份验证成功地获取了用户列表,通过在同一帐户中的浏览器进行授权

但这样会给我带来以下错误。

File "testing.py", line 41, in <module>
    results = DIRECOTORY.users().list(domain='domainemailhere.net').execute()
  File "/home/tara/taraproject/scripttesting/virtualenvforGapi/local/lib/python2.7/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/home/tara/taraproject/scripttesting/virtualenvforGapi/local/lib/python2.7/site-packages/googleapiclient/http.py", line 840, in execute
    raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/admin/directory/v1/users?domain=nepallink.net&alt=json returned "Not Authorized to access this resource/api">

安装完成:

>

我还通过Security&>ShowMore&>Advance&>ManageIPClient&>Authorize添加了作用域添加了用户id和作用域

https://www.googleapis.com/auth/admin.directory.user.readonly https://www.googleapis.com/auth/admin.directory.user

在服务控制台中添加了用户权限并创建了所有者。

Admin SDK已启用

我错过的东西到底在哪里。为什么它说我没有访问资源/API的权限

共有1个答案

蒋畅
2023-03-14

我看到您正在使用delegated_credentials。你用过吗??

更改以下行:

DIRECOTORY = build('admin', 'directory_v1', credentials=credentials)

DIRECOTORY = build('admin', 'directory_v1', credentials=delegated_credentials)
 类似资料:
  • 我正在尝试使用DocuSign API和代码生成access\u令牌(https://developers.docusign.com/platform/auth/authcode/authcode-get-token) 我致电POST请求:https://account-d.docusign.com/oauth/token 使用以下正文(application/x-www-form-urlenco

  • 我试图通过访问Google Admin SDK API来提取我域中的用户。但是,我被赋予了401未经授权的异常。下面的代码是我的设置类,其中包含我调用API的方法。 下面的代码是我用来从我的域中提取用户的测试用例: 最后,这是我面临的一个例外。 任何帮助都将不胜感激!!!

  • 我的Google API有问题。我希望避免通过浏览器检索我的访问授权。我想将代码直接检索到一个变量中。这是我发送的URL:

  • 我有一个应用程序,通过Dropbox Javascript SDK尝试下载文件。我不知道怎么了。通过fetch调用访问Dropbox API,直接导致相同的错误。Dropbox API文档指出,错误400是因为输入参数不正确,而我发送的似乎没有问题-“Dropbox API参数”:“{\”path\“:\”/1/price.xlsx \“}”

  • 问题内容: 我从Nexus存储库中检出了代码。我更改了帐户密码,并在文件中正确设置了密码。在执行时,我收到错误消息,说明它尝试从该存储库下载文件。 任何想法如何解决此错误?我在Maven 3.04中使用Windows 7 问题答案: 这里的问题是所使用的密码出现错字错误,由于密码中使用了字符/字母,因此很难识别。

  • 问题内容: 我在列中有以下股票数据集,在行的日期下方(使用彭博(Bloomberg)的Python API下载-请忽略以下事实:它们全都是“ NaN”-仅用于数据的这一部分): 我正在尝试从索引中提取月份和年份,以便稍后进行调整: 其中values是上述DataFrame的名称。 但这会产生错误:’KeyError’date’ 运行: 看起来不错: 所以我只是想知道问题出在哪里,为什么我似乎无法在