- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试通过 python 使用 Google 的 QPX Express API。我在发送请求时一直遇到一些问题。起初我尝试的是这样的:
url = "https://www.googleapis.com/qpxExpress/v1/trips/search?key=MY_KEY_HERE"
values = {"request": {"passengers": {"kind": "qpxexpress#passengerCounts", "adultCount": 1}, "slice": [{"kind": "qpxexpress#sliceInput", "origin": "RDU", "destination": location, "date": dateGo}]}}
data = json.dumps(values)
req = urllib2.Request(url, data, {'Content-Type': 'application/json'})
f = urllib2.urlopen(req)
response = f.read()
f.close()
print(response)
基于以下代码:urllib2 and json
当我运行上面的代码时,我收到以下错误消息:
TypeError: POST data should be bytes or an iterable of bytes. It cannot be of type str.
我搜索了一个解决方案并根据以下问题调整了我的代码:TypeError: POST data should be bytes or an iterable of bytes. It cannot be str
我将我的代码更改为:
url = "https://www.googleapis.com/qpxExpress/v1/trips/search?key=AIzaSyCMp2ZnKI3J91sog7a7m7-Hzcn402FyUZo"
values = {"request": {"passengers": {"kind": "qpxexpress#passengerCounts", "adultCount": 1}, "slice": [{"kind": "qpxexpress#sliceInput", "origin": "RDU", "destination": location, "date": dateGo}]}}
data = json.dumps(values)
data = data.encode("utf-8")
req = urllib2.Request(url, data, {'Content-Type': 'application/json'})
f = urllib2.urlopen(req)
response = f.read()
f.close()
print(response)
但是,当我运行这段代码时,我收到以下错误消息:
urllib.error.HTTPError: HTTP Error 400: Bad Request
我也尝试过将 utf-8 更改为 ascii,但我没有成功。我怎样才能让它正常工作?
最佳答案
这是一个使用 excelent requests 库的解决方案。
import json
import requests
api_key = "YOUR API KEY HERE"
url = "https://www.googleapis.com/qpxExpress/v1/trips/search?key=" + api_key
headers = {'content-type': 'application/json'}
params = {
"request": {
"slice": [
{
"origin": "TXL",
"destination": "LIM",
"date": "2015-01-19"
}
],
"passengers": {
"adultCount": 1
},
"solutions": 2,
"refundable": False
}
}
response = requests.post(url, data=json.dumps(params), headers=headers)
data = response.json()
print data
我不确定您的请求为何不起作用。也许真的是请求参数错了。日期绝对需要在未来!
关于python - 来自 Python 的 QPX Express API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26550213/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我启用了对Google QPX Express API的访问权限,以对达美机票和票价舱位的价格进行一些分析。但回应似乎只包括来自少数航空公司的航类。 例如,以下请求 { "request": {
我正尝试在我的网站上使用 QPX Express API 来搜索航类。 https://developers.google.com/qpx-express/v1/requests#Examples 我
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 5 年前。 Improve
我正在尝试通过 python 使用 Google 的 QPX Express API。我在发送请求时一直遇到一些问题。起初我尝试的是这样的: url = "https://www.googleapis
我刚开始试用 Google 的 QPX Express API,这是一种机票搜索 API。但是,很多查询结果与我在 Google Flights 中获得的结果不同。 我不确定我错过了什么,但至少 it
我正在尝试构建一个简单的 Java 代码,该代码使用 Google QPX API 获取从纽约到伦敦的航类的航类选项。我注册了 Google 并获得了 API_key。 我阅读了文档,但不幸的是,我找
我正在尝试与 google qpx api(用于航类)集成。请求是带有 JSON 正文的 POST。我写了以下内容: Head request = new Head(); Gson g
我已经注册了 Google API 控制台并设置了帐户和 API key ,但我的问题是如何从 Google QPX 检索结果。 导致以下错误的原因是什么? 为 Google 请求设置 json 查询
import json import requests import urllib url = "https://developers.google.com/qpx-express/v1/trips/
我是一名优秀的程序员,十分优秀!