小编aei*_*erg的帖子

无法从本地App Engine开发服务器访问BigQuery

这是一个与python Google AppEngine应用程序和Google的BigQuery之间的服务器到服务器授权有关的问题,但可能与其他云服务相关.

tldr; 是否可以让App Engine本地开发服务器使用远程BigQuery服务进行身份验证?更好的是有一个本地BigQuery?

我知道AppAssertionCredentials目前不能在本地开发服务器上运行,尽管这本身就非常令人沮丧.

它适用于标准的Python代码,在本地开发服务器沙箱之外的另一种方法,详细介绍在这里,因为即使PyCrypto启用了沙盒不允许一些POSIX模块如"PWD"不为本地开发服务器工作.

我有AppAssertionCredentials远程服务器,并在上工作SignedJwtAssertionCredentials方法了本机Python工作本地,因此服务帐户设置正确.

导入在try/except块中的oauth2client/crypt.py内失败 - 在将它们注释掉后,很容易看到沙箱白名单异常.

我已经摆弄了添加'pwd'到白名单,然后又出现了另一个问题,所以我匆匆走回那个兔子洞.

我已经尝试将PyCrypto直接包含在项目中并得到类似的结果.

我也试过OpenSSL,结果相似.

我找了一个当地的appengine特定的PyCrypto无济于事,我错过了吗?我应该说这是在Mac OSX上 - 也许我应该启动一个Linux机箱然后放手一搏?

google-app-engine google-bigquery google-oauth google-api-python-client

23
推荐指数
1
解决办法
5407
查看次数

获取可与服务器共享的OAuth2授权代码

我的Android应用需要向我的服务器发送授权代码,以便服务器可以使用该代码获取用户的Google云端硬盘帐户的访问令牌.我一直试图弄清楚如何获取授权代码,我在Google API文档中找到了这一点(使用OAuth 2.0 for Installed Applications):

此序列首先将浏览器(系统浏览器或作为Web视图嵌入在应用程序中)重定向到带有一组查询参数的Google URL,该参数指示应用程序所需的Google API访问类型.与其他方案一样,Google处理用户身份验证和同意,但序列的结果是授权代码.授权代码在浏览器的标题栏中返回,或作为查询字符串参数返回(取决于请求中发送的参数).

在接收到授权代码之后,应用程序可以交换访问令牌和刷新令牌的代码.应用程序在此交换过程中显示其client_id和client_secret(在应用程序注册期间获取)和授权代码.收到刷新令牌后,应用程序应将其存储以备将来使用.访问令牌使您的应用程序可以访问Google API.

现在我不知道如何在我的Android应用程序中获取此授权代码,因为我看到的Android示例似乎直接获得了访问令牌.我正在查看Android AccountManager类,它有一个getAuthToken方法,但这似乎是指访问令牌而不是授权代码.

那么如何获得可以与服务器共享的授权代码呢?如果有可能,我会非常感谢一些示例代码.如果不可能,可能的解决方法是什么?

android oauth-2.0 google-drive-api google-oauth

7
推荐指数
1
解决办法
3933
查看次数