问题标签 [gdata-python-client]

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 回答
806 浏览

python - 观看历史记录提要 gdata python

我正在尝试使用 python 从 YouTube 获取经过身份验证的用户的历史提要。这是我的代码:

它说 gdata.service.RequestError: {'status': 400, 'body': 'Invalid request URI', 'reason': 'Bad Request'} 。我知道我必须发出经过身份验证的 Get 请求,但我不知道如何。我究竟做错了什么 ?

编辑

我面临一个重大问题。prog 与上面相同,但yt_service.developer_key = DEVELOPER_KEY 在密码行下添加了 和 uri = 'https://gdata.youtube.com/feeds/api/users/default/watch_history?v=2&key=%s'%DEVELOPER_KEY。我在 4 台 PC 上对其进行了测试,并且只有其中一台可以正常运行。我收到此错误:

File "/usr/local/lib/python2.6/dist-packages/gdata/youtube/service.py", line 186, in return self.Get(uri, converter=gdata.youtube.YouTubeVideoFeedFromString) File "/usr/local/lib/python2.6/dist-packages/gdata/service.py", line 1108, in Get 'reason': server_response.reason, 'body': result_body} gdata.service.RequestError: {'status': 400, 'body': 'Invalid request URI', 'reason': 'Bad Request'}

我使用 python 2.7 和 gdata python 2.0 。为什么一台PC执行它而其余的不执行?我能做些什么来解决它?请帮忙!

0 投票
0 回答
241 浏览

google-app-engine - gdata-python 中的 provisioning_oauth_example:2-legged 和 3-legged 错误

我想从 gdata-python-client 库示例中运行provisionin_oauth_example 。

在进行了一些小改动后,主要是为了使其在 AppEngine 中工作,这就是在本地和 AppEngine 服务器中发生的情况:

如果我使用 OAuth 域密钥:

  • 使用2-legged authorization,我得到:

    未知的授权标头。

    错误 401

  • 使用3-legged authorization,我可以使用管理员用户列出我的 GApps 域中的所有用户。这是唯一真正有效的东西。

如果我使用 Marketplace 中的 Consumer 密钥和密钥:

  • 使用2-legged authorization,我得到:

    无效的 OAuth 签名

    错误 403

  • 通过3-legged 授权,我陷入了一个异常:

...文件“/base/data/home/apps/s~deimos-intranet/1.363589987091160356/main.py”,第 147 行,在 post scopes=INIT['SCOPES'], oauth_callback=self.request.uri) 文件中“/base/data/home/apps/s~deimos-intranet/1.363589987091160356/gdata/service.py”,第 429 行,在 FetchOAuthRequestToken

引发 FetchingOAuthRequestTokenFailed(错误)

FetchingOAuthRequestTokenFailed: {'status': 400L, 'body': 'signature_invalid\nbase_string:GET&https%3A%2F%2Fwww.google.com%2Faccounts%2FOAuthGetRequestToken&oauth_callback%*XXXXXX*oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1354489805%26oauth .0%26scope%3Dhttps%253A%252F%252Fapps-apis.google.com%252Fa%252Ffeeds\n\n', 'reason': 'Non 200 response on fetch request token'}

有人知道为什么 2-legged 身份验证根本不起作用,为什么 3-legged 不能使用应用程序密钥,即使我已授权访问数据所需的所有提要?

几天前我被抓到了,现在我没有找到任何提示。

太感谢了。

0 投票
2 回答
624 浏览

python - 我有我的应用程序的“授权码”。但是如何使用 gdata-python-client 在博客中发帖呢?

我正在使用 gdata-pyton-client。我有我的应用程序的“授权码”。但现在呢?如何使用它在博客中发帖?

我使用了以下代码并获得了授权码,

但现在我该如何使用它?

我如何授权博主将其发布给博主?我一直在使用此示例进行测试: https ://code.google.com/p/gdata-python-client/source/browse/samples/blogger/BloggerExampleV1.py

但这是使用电子邮件和密码登录。如何使用访问令牌?

0 投票
1 回答
186 浏览

python - gdata-python-client 中的 gdata.client 和 gdata.service 有什么区别?

当我同时阅读这两本书时,它们似乎针对的是同一件事,并且是由同一位作者撰写的。那么这两者有什么不同呢?

谢谢

0 投票
0 回答
586 浏览

oauth-2.0 - 使用 OAuth 2.0 访问 Google 电子表格

我正在尝试使用 gdata-python-2.0.17 库访问 Google 电子表格。在每个教程中,都会使用programmaticLogin(uname,pwd)但我觉得这不是一个好习惯。我试图通过使用 OAuth 2.0 身份验证(oauth2client.client)来克服这个问题。我已经设法通过征得用户同意来授予对 Google 帐户的访问权限。

我不确定在这种情况下是否可以使用标准的gdata.spreadsheet.service.SpreadsheetsService() 。据此,将 OAuth 2.0 和 gdata-python 库结合起来是不可能/容易的。如果有人知道如何使用上述 API 或使用可以使用的更高版本的 Google API 来处理此问题,我们将不胜感激。

谢谢

0 投票
1 回答
590 浏览

google-oauth - 如何在 python gdata 库中使用两条腿的 oauth?

我正在尝试通过应用程序访问用户列表。我无法让两条腿的身份验证工作。我希望能够在安装后无需用户同意即可访问谷歌的 API。gdata 库已于今年早些时候弃用,但在域管理员安装应用程序后,业务需求需要在未经用户同意的情况下访问 API。

这是我到目前为止所做的:

  • 我在 Marketplace 上创建了一个应用程序。应用清单声明了这个范围:

    https://apps-apis.google.com/a/feeds/user/

  • 我已在测试域中安装了我的应用程序并授予了上述范围的权限。

  • 我在这里查看了示例:https ://code.google.com/p/gdata-python-client/source/browse/samples/oauth/

    • Service不推荐使用的方法:2_legged_oauth.py
    • 更新Client的方法:TwoLeggedOAuthExample.py

我正在使用 Python 2.7.5 和 gdata 2.0.18。这是我的代码,它改编自上述示例:

响应:

以下是正在发送的标头的详细信息:

这是响应的调试信息(取自将 atom.http_core.ProxiedHttpClient 置于调试模式):

如何使用两条腿 oauth 访问域上的用户?我愿意使用较新的 Google API 客户端 (oauth2clientapiclient),但前提是我可以使用双腿身份验证,因为我有一个业务要求,即没有第三腿。

0 投票
0 回答
288 浏览

google-contacts-api - 更新批量联系人时,If-Match 或 If-None-Match 标头或条目 etag 属性需要错误

哪些步骤将重现该问题?

1.使用批量联系人api(gdata-python-client)更新联系人,如下所示

2. 尝试将 If-match 标头添加到文档中提到的请求

什么是预期的输出?你看到了什么呢?

我正在获取If-Match 或 If-None-Match 标头或条目 etag 属性

0 投票
0 回答
311 浏览

python - SyntaxError 使用 gdata-python 获取工作表提要

尝试从 gdata 获取工作表列表时,我偶尔会遇到错误。并非所有电子表格都会发生这种情况,但同一电子表格会在几天到几周内始终如一地发生。我怀疑权限,但无法找到导致错误的电子表格的任何特殊权限。我正在使用 OAuth2、gdata 2.0.18 和 Python 2.6.8。

这似乎来自请求获得一个空字符串作为响应。

有没有人知道为什么这可能不起作用或排除故障的想法?谢谢。

0 投票
2 回答
1698 浏览

python - 使用 gdata python 客户端在博客上批量发布

我正在尝试将我所有的 Livejournal 帖子复制到我在 blogger.com 上的新博客。我通过使用gdata python 客户端附带的稍微修改的示例来做到这一点。我有一个 json 文件,其中包含从 Livejournal 导入的所有帖子。问题是 blogger.com 有每天发布新博客条目的每日限制 - 50,所以你可以想象我的 1300 多个帖子将在一个月内被复制,因为我无法在 50 次导入后以编程方式输入验证码。

最近得知gdata的某处也有批处理模式,但是不知道怎么用。谷歌搜索并没有真正帮助。

任何建议或帮助将不胜感激。

谢谢。

更新

以防万一,我使用以下代码

0 投票
1 回答
1658 浏览

python - AccessTokenRefreshError: Google Spreadsheet API with oAuth 2.0 Service Account of App Engine App

我正在尝试使用为托管在 Google App Engine 上的 Python 2.7 应用程序创建的 oAuth 2.0 服务帐户凭据通过 GData API 访问 Google 电子表格。

  1. 该应用程序使用来自 Google 的最新 gdata-python-client,v. 2.0.18(gdata 和 atom)。
  2. 该应用程序使用最近的 google-api-python-client-gae,v. 1.2。
  3. 在此项目的 Google Developer Console 中(在本示例中称为“my-gae-app”),我创建了一个服务帐户并将域范围的权限委托给该服务帐户,如此处所述
  4. Google Drive 中所需的电子表格属于 Google Apps for Work 域,此处称为“mygoogleappsdomain.com”。
  5. my-gae-app@appspot.gserviceaccount.com我已授予对此服务帐户显示的电子邮件地址和该电子表格的读写访问权限,该电子邮件地址已分配给clientEmail下面代码中的变量。不确定实际上需要这两个电子邮件地址中的哪一个,所以我都分配了。拥有该impersonateUser电子邮件地址的用户还拥有对该电子表格的读写访问权限。

使用 Google API Python 客户端,AppAssertionCredentials我可以通过 Google Drive API 访问所需电子表格的元数据。但是,如果我尝试使用 gdata 访问电子表格的内容,则会出现错误。到目前为止,我可以使用服务帐户获得的最佳结果是使用的SignedJwtAssertionCredentials如此处所建议的。但是,我坚持这一点AccessRefreshTokenError: access denied,我不明白出了什么问题。

这是我在远程 shell 中遇到的错误:

我不确定这是否表明此服务帐户被拒绝访问电子表格,或者刷新访问令牌时是否出错。您知道此代码或设置有什么问题吗?