我从一些来自Google的App Engine的示例代码开始。
我的应用程序需要使用目录API和报表API从谷歌管理SDK。
我已经在API控制台中创建了一个项目,并在Services中打开了Admin SDK。
我将作用域(与下面代码中使用的作用域相同)添加到我域的Google cPanel中高级工具的“Manage API client Access”部分。
null
之后,对Reports API的调用失败,并显示错误消息:
“httperror:https://www.googleapis.com/admin/reports/v1/activity/users/all/applications/admin?alt=json返回”权限不足&>“
非常感谢你的帮助。
import webapp2
import os
from apiclient.discovery import build
from oauth2client.appengine import OAuth2Decorator
from oauth2client.appengine import OAuth2DecoratorFromClientSecrets
from apiclient import errors
import logging
import json
decorator = OAuth2DecoratorFromClientSecrets(
os.path.join(os.path.dirname(__file__), 'client_secrets.json'),
'https://www.googleapis.com/auth/admin.directory.user.readonly')
directoryauthdecorator = OAuth2Decorator(
client_id='123.apps.googleusercontent.com',
client_secret='456-abc',
callback_path='/oauth2callback',
scope='https://www.googleapis.com/auth/admin.directory.user.readonly '
'https://www.googleapis.com/auth/admin.reports.audit.readonly '
'https://www.googleapis.com/auth/admin.reports.usage.readonly'
)
class MainHandler(webapp2.RequestHandler):
def get(self):
self.response.write('Hello world!')
class OAuthHandler(webapp2.RequestHandler):
@directoryauthdecorator.oauth_required
def get(self):
users = []
# Get the authorized Http object created by the decorator.
auth_http = directoryauthdecorator.http()
# Get the directory service
service = build("admin", "directory_v1", http=auth_http)
result = []
page_token = None
while True:
try:
param = {}
param['domain'] = 'mydomain.com'
if page_token:
param['pageToken'] = page_token
files = service.users().list(**param).execute()
result.extend(files['users'])
page_token = files.get('nextPageToken')
if not page_token:
break
except errors.HttpError, error:
print 'An error occurred: %s' % error
break
users = []
for user in result:
logging.info(user['primaryEmail'])
users.append(user['primaryEmail'])
param = {}
param['userKey'] = 'all'
param['applicationName'] = 'admin'
service = build('admin', 'reports_v1', http=auth_http)
# this call fails with the 403 Insufficient Permissions error
results = service.activities().list(**param).execute()
logging.info(results)
app = webapp2.WSGIApplication([
('/', MainHandler),
('/users', OAuthHandler),
(directoryauthdecorator.callback_path, directoryauthdecorator.callback_handler()),
], debug=True)
我阅读了这篇文章,并清除了数据存储中的凭据。
再次点击/users url,我得到了redirect_uri错误消息。
我回到API项目,修复了重定向URI,并下载了client_secrets.json文件。
现在两个调用都可以工作(一个调用目录API,另一个调用报告API)。
我使用谷歌分析管理API帐户用户链接:列表 我正在尝试获取帐户用户列表... 我得到以下错误 {“error”:{“errors”:[{“domain”:“global”,“reason”:“insufficientPermissions”,“message”:“权限不足”}],“code”:403,“message”:“权限不足”}} 在Google Analytics中,我设置了所有权限 编辑
从Gmail的电子邮件附件上载到Google Drive: 朋友们大家好,如果我删除文件目录中的token.pickle和token_drive.pickle文件(这些文件是与google cloud分开创建的)并运行代码: ”ResumableUploadError: 这似乎是Gmail和Drive同时身份验证的问题,因为media\u body和file\u元数据返回一个值,但我无法解决这个问
我一直在尝试使用服务帐户访问Calendar v3 API。我已经添加了范围https://www.googleapis.com/auth/calendar并与该服务帐户的电子邮件地址共享了我的日历。 我也一直在用同一个服务帐户访问https://www.googleapis.com/auth/coordinate scope,它工作得很好。 此外,尝试撤销访问权限,如这里所述:为什么谷歌日历AP
好的,正如标题所建议的谷歌分析API问题。。。 null null Analytics Google API错误403:“用户没有任何Google Analytics帐户” Google Analytics API:“用户对此帐户没有足够的权限。” 但仍然无法让它工作。我添加了范围,如下所示: 现在,我有我试图查询的视图id(profile):code46034120/code>,所以我得到了服务
我正在尝试从Google-Analytics访问数据。我正在遵循指南,并且能够对我的用户进行G授权,并从OAuth获得代码。 当我试图从GA访问数据时,我只得到403个不够的权限。我是否必须将我在Google API控制台中的项目连接到我的分析项目?我该怎么做?还是有什么其他原因让我得到403不够的权限回来? 我正在用Python和Django做这件事,而且我已经打开了我的API控制台的Analy
我正在尝试使用服务帐户将文件上载到google drive,但我遇到了如下错误 (403)权限不足错误 尽管从驱动器中提取文件列表工作正常。 我在论坛上回顾了类似的问题,并尝试了一些建议,但似乎什么都不起作用。 代码有什么问题吗?