问题标签 [oauth2client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
929 浏览

python - Python oauth2client 异步

我正在与龙卷风和官方的 python oauth2clientgcloud ... 模块作斗争。

这些模块接受通过 http= 传递的备用 http 客户端,只要它有一个request可以被任何这些库调用的方法,每当必须将 http 请求发送到 google 和/或使用刷新更新访问令牌时令牌。

我创建了一个简单的类,self.client = AsyncHttpClient() 它的方法中有一个 Then request,返回self.client.fetch(...)

我的目标是能够yield调用这些库中的任何一个,以便 tornado 以异步方式执行它们。

问题是它们高度依赖于默认客户端 - 设置为 httplib2.Http() 返回:(响应,内容)

我真的被卡住了,找不到一种使这种异步的干净方法

如果有人已经找到方法,请提供帮助。

先感谢您

0 投票
1 回答
98 浏览

python - 如何在未经用户同意的情况下获取 OAuth 令牌?

标准(对我而言)OAuth 流程是:

  1. 生成 urlflow.step1_get_authorize_url()并要求用户允许应用访问
  2. 获取代码
  3. 获取凭据flow.step2_exchange(auth_code)

但是我遇到了另一个服务,我只需要启动一个 POST 请求token_uri并作为表单值()传递,并且client_id也作为表单字段值传递。client_secretapplication/x-www-form-urlencodedgrant_typeclient_credentialsscope

oauth2client图书馆支持吗?

0 投票
1 回答
7179 浏览

python - 'AttributeError: 'module' object has no attribute 'file'' 将 oauth2client 与 Google Calendar 一起使用时

我正在使用谷歌日历 python api ( https://developers.google.com/google-apps/calendar/quickstart/python#step_3_set_up_the_sample ) 的示例脚本来尝试打印所有日历事件。但是我收到以下错误:

从线

我在文档中找不到对此类错误的引用。有没有其他人遇到过这个?

干杯,杰克

0 投票
0 回答
39 浏览

google-app-engine - appengine 通过 oauth2 python 脚本访问(替换 ClientLogin)

我有一个 App Engine 项目:

  • 用于google.appengine.api.get_current_user()处理用户(和login:required
  • 有一个 URL 来收集一些数据(需要登录)
  • 有 Google 用户,但在自定义域上

我曾经有一个脚本来使用旧https://www.google.com/accounts/ClientLogin界面提取数据,但现在该界面已被弃用,我正在尝试弄清楚我需要做什么才能让 OAuth2 使用用户值集访问我的 App Engine URL。

如OAuth2 For Devices中所述,我已经通过 OAuth2 for devices 为自己的脚本获取访问密钥(即我可以运行它,在 Web 浏览器中进行身份验证,然后轮询访问密钥)。

但我不确定:

  • 我应该使用什么范围来请求access_token兼容get_current_user()
  • 如何在我的请求中将其传递给 App Engine,以便它可以创建用户标头,以及
  • 我是否需要修改我的应用程序以使用此 access_token,例如添加回调等

关于最后一点,用户是由谷歌的前端基础设施设置的,所以我希望同样的基础设施可以以某种方式将我的 OAuthaccess_token转换为登录名,而无需我更新我的应用程序来执行回调部分,因为它应该全部在 appengine 的基础架构中,并且在请求到达我的应用程序之前设置用户。

0 投票
2 回答
510 浏览

php - 在消费者处处理 OAuth 2.0 令牌过期

我有一个客户端应用程序,它使用具有授权授予类型资源所有者密码凭据的 oauth2。当用户提供她的凭据时,我编写了一个 curl http 请求来获取访问令牌,但是当第一个访问令牌过期时如何请求另一个访问令牌。我读到最好估计访问令牌的有效性。我找到了这个客户端库,但我认为它不会解决我与请求新访问令牌有关的问题,一旦它过期,甚至刷新令牌也过期。

谁能指出我正确的方向如何实现这个或为此目的使用一个库?

0 投票
1 回答
1025 浏览

python - Gspread 访问谷歌电子表格:HttpAccessTokenRefreshError, invalid JWT

我正在努力使用 gspread 访问带有 python 2.7 的谷歌电子表格。

这是我到目前为止所拥有的:

结果是一堆我认为正在向我展示正在发生的事情的东西,结果如下:

最终,我希望从该工作表的两个选项卡中访问信息以进行一些分析,但无法从谷歌将数据提取到 python 中。任何帮助表示赞赏,我会尽可能回答任何澄清问题!

0 投票
0 回答
853 浏览

php - PHP - 使用 Guzzle 或 oauth2-client 发布数组数据

我需要一些帮助来连接到 deviantArt 的 whois API。

我正在构建一个需要连接到 deviantArt 的 API 的 Laravel 应用程序。

我能够使用SocialiteThe League 的 OAuth2-ClientGuzzle和 cUrl 成功连接到 API,但仅限于 whoami 请求。
获取 /user/whoami

我可以成功whois连接,但只能使用 cUrl。
发布 /user/whois

我想尽可能多地使用 OAuth2-Client 插件,但在这一点上,我只是在寻找可行的东西。

我最好的猜测是我没有POST正确发送变量。

尝试 1 - 使用 Guzzle 请求

尝试 2 - 使用 Guzzle 请求

尝试 3 - 使用 Guzzle 请求

尝试 4 - 使用 Guzzle 请求

尝试 5 - 使用 Oauth-client getAuthenticatedRequest

试图 ...

和许多其他人

所有尝试的结果都给我同样的错误。

0 投票
1 回答
218 浏览

oauth - gspread 和 oauth2client 的使用

我试图使用 oauth2client 和 gspread 在 googlesheet 上进行操作,但我遇到的问题是,当使用 oauth2client 时,它需要一个范围字段。我不知道范围是什么。下面是oauth2client的使用代码。

0 投票
0 回答
231 浏览

python - 使用 oauth2client 进行身份验证时出错

我有一个 Python 程序,它尝试使用 oauth2client 进行 Google 身份验证,以便我可以使用 gspread。这是我的代码:

这段代码主要取自这个站点,它也有我用来设置身份验证的步骤。该代码适用于我的笔记本电脑(Windows),但在我的 Raspberry Pi(Linux)上,它会引发此错误:

有谁知道发生了什么?

0 投票
2 回答
5554 浏览

proxy - OAuth2RestTemplate 中的代理配置

我需要使用受 OAuth2 保护的 API。为此,我正在使用 OAuth2RestTemplate。但我得到以下错误:

这是由于代理问题而发生的。我知道如何在 RestTemplate 中设置代理:

clientHttpRequestFactory.setProxy(代理); RestTemplate restTemplate = new RestTemplate(clientHttpRequestFactory);

我尝试为OAuth2RestTemplate设置相同的方式:

但它不起作用并给出“连接超时”异常。这是因为第一行OAuth2RestTemplate client = new OAuth2RestTemplate(resource(), oauth2ClientContext);试图获取访问令牌,这意味着它也需要代理设置。如果我添加以下行,那么它可以工作:

但是我不能使用 System.setProperties("","") 选项,因为我们没有在 tomcat 服务器上设置的权限。

我进行了研究,但在创建此对象时找不到在 OAuth2RestTemplate 中设置代理的任何方法。

任何帮助,将不胜感激。谢谢