- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题本质上是我上一个问题的后续问题,您可以找到 here 。处理完遇到的编码错误后,我遇到了新的 HttpError 401 问题。我的开发应用程序服务器日志的跟踪如下:
ERROR 2012-12-20 03:10:46,312 pipeline.py:2237] Generator main.CloudStorageToBigQuery(*([u'/gs/jibdancsvtest/Datastore Mapper main.streamdata-1582389642294FE5DBBCE-output'],), **{})#2d3dba4f4a5211e2bf0ac3cee1488e47 raised exception. HttpError: <HttpError 401 when requesting https://www.googleapis.com/bigquery/v2/projects/1093XXXXXXXXX/jobs?alt=json returned "Invalid Credentials">
Traceback (most recent call last):
File "C:\Users\Tank\Documents\Aptana Studio 3 Workspace\jibdantest-bq\mapreduce\lib\pipeline\pipeline.py", line 2030, in evaluate
self, pipeline_key, root_pipeline_key, caller_output)
File "C:\Users\Tank\Documents\Aptana Studio 3 Workspace\jibdantest-bq\mapreduce\lib\pipeline\pipeline.py", line 1064, in _run_internal
return self.run(*self.args, **self.kwargs)
File "C:\Users\Tank\Documents\Aptana Studio 3 Workspace\jibdantest-bq\main.py", line 77, in run
result.execute()
File "C:\Users\Tank\Documents\Aptana Studio 3 Workspace\jibdantest-bq\oauth2client\util.py", line 120, in positional_wrapper
return wrapped(*args, **kwargs)
File "C:\Users\Tank\Documents\Aptana Studio 3 Workspace\jibdantest-bq\apiclient\http.py", line 678, in execute
raise HttpError(resp, content, uri=self.uri)
HttpError: <HttpError 401 when requesting https://www.googleapis.com/bigquery/v2/projects/1093XXXXXXXXX/jobs?alt=json returned "Invalid Credentials">
我还想我应该发布来自 url 的 json 响应。这是 json:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
如果您点击 stackoverflow 上我上一个问题的链接,您将在我的 main.py 文件中找到运行所有内容的代码。但如果我需要在这里重新发布它,我可以这样做。
所以,我认为这是一个 OAuth 问题,但我相信我已经正确设置了所有这些。对于我可以做/调查的其他事情的任何建议都会很棒。
非常感谢。
最佳答案
当您在本地开发服务器上运行时,您需要以不同的方式设置您的凭据:
首先,您需要设置本地凭据存储。从这里使用 get_refresh_token.py:https://codereview.appspot.com/5362041/diff/1/samples/oauth2cmdline/get_refresh_token.py
在 Google API 控制台上为 Web 应用程序设置客户端 ID,并将参数传递给上面的脚本(将启动到浏览器中进行 OAuth2 身份验证)。这将创建一个包含凭据的本地文件,然后您可以将其传递给 API 客户端以获取经过身份验证的请求:
from oauth2client.client import Storage, Credentials
from oauth2client.appengine import AppAssertionCredentials
class FileStorage(Storage):
def __init__(self, filepath):
self._filepath = filepath
def locked_get(self):
with open(self._filepath, 'r') as f:
json = f.read()
credentials = Credentials.new_from_json(json)
return credentials
if not os.environ.get('SERVER_SOFTWARE', '').startswith('Development'):
credentials = AppAssertionCredentials(scope='https://www.googleapis.com/auth/bigquery')
else:
filepath = #Path to credentials file here
storage = FileStorage(filepath)
credentials = storage.get()
希望这有帮助!
关于python - HttpError 401 尝试通过 CloudStorage Pipeline 访问 BigQuery 网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13984057/
我收到“HTTP 错误 500:内部服务器错误”响应,但我仍想读取错误 HTML 中的数据。 使用 Python 2.6,我通常使用以下方法获取页面: import urllib2 url = "ht
我的 API 提供商在 response.body 中发送错误消息作为 ReadableStream为纯文本,我需要让管理员在休息时将这些消息显示给最终用户。 我打算这样做: import HttpE
我正在尝试从Youtube数据API获取视频数据,但是在经过一定数量的请求调用(大约900次)后,我遇到了(500)后端错误,我也试图等待15分钟的间隔,持续4到5次,但仍然抛出同样的错误 错误: b
刚开始学Python,就遇到了这个问题。真正解析来自亚马逊的价格并将其打印到控制台。 这是我的代码: import requests, bs4 def getAmazonPrice(productUr
刚开始学Python,就遇到了这个问题。真正解析来自亚马逊的价格并将其打印到控制台。 这是我的代码: import requests, bs4 def getAmazonPrice(productUr
测试一些使用 urllib2 的代码, 我想养一个 HTTPError以确保它得到正确处理。 HTTPError 有一个构造函数: def __init__(self, url, code, msg,
如果是 404,我想捕获带有额外信息的 urllib2.HTTPError: try: data = urlopen(url) except HTTPError, e: # Python 2
我在 IIS 7 上本地运行的 Asp.Net 4 中有一个 Web 应用程序。 我需要为 IIS 的默认页面显示一个自定义页面 (404) 和一个 500。 在 Web.Config 中使用这个 h
我在为 cherrypy.HTTPError 提供自定义响应处理时遇到问题.我希望在响应正文中显示的唯一内容是 JSON 编码的 dict(这是 REST API)。源代码似乎表明HTTPError.
我在 web.config 中有这个: 但是 IIS 仍然显示内置的错误页面。 有什么想法吗? 最佳答案 这就是我使用它的方式,它对我有用,除了 subStatusCode
如何在 Angular 服务中模拟 HTTP 错误响应?我经常需要处理不同的 HTTP 错误代码,有时我需要实现解决方案,但后端还没有准备好。如何从后端模拟错误? 示例代码 public getD
在我的Google帐户(不是主要帐户)上,我创建了OAuth凭据,可以访问CMS及其 channel 。使用此凭据,我可以从YouTube Analytics(分析)API中获取数据,因此这里没有问题
我已将以下内容添加到配置文件中。 ... 但是,我似乎仍然得到带有黄色背景和堆栈跟踪的默认页面。我试过在 system.web 中注释掉用于错误处理和添加/删除
当我尝试运行 conda update numpy 时出现以下错误(也在运行 conda update conda 时) Fetching package metadata ............C
我正在尝试找出一种使用 ASP.NET WebApi 返回具有非 200 返回代码的自定义负载的方法。基本上我想拥有 {"status":{"code":"40001", "message": "Fi
我在实现 MyFaces 2.0 时使用 JSF我有 2 个 jsf 页面 login.xhtml 和 register.xhtml。 登录.xhtml: System CollD
如何返回 HttpError(自己的、格式漂亮的前端错误消息)然后使用方便的 IHttpActionResult? public IHttpActionResult Delete(Guid id) {
我正在用 python 尝试“Hello world” import webapp2 class MainHandler(webapp2.RequestHandler): def get(
如何获取 中设置的 errorMode 属性的值? web.config 中的元素? 我正在尝试在 ASP.NET Web 应用程序中实现一些“ self 诊断”。当应用程序启动时,它会运行 web
我正在尝试用 ruby 编写一个简单的网络抓取代码。它一直工作到第 29 个 url,然后我收到此错误消息: C:/Ruby193/lib/ruby/1.9.1/open-uri.rb:346:i
我是一名优秀的程序员,十分优秀!