抱歉,如果这是基本的东西 - 我已经尝试了一段时间成功地将经过身份验证的 POST 发送到 Google Fusion Tables 以测试插入到私有表中。
已阅读融合表文档中的示例和库 - 但示例似乎通常是选择(与插入相比)并且可用于 Python 的库似乎不适用于 OAuth 2.0。
我已经成功-
- 使用 OAuth 2.0 进行身份验证。拥有访问令牌和刷新令牌。
我可以直接从 Google 示例中使用以下代码在私人表上进行选择:
request = urllib2.Request( url='https://www.google.com/fusiontables/api/query?%s' % \ (urllib.urlencode({'access_token': access_token, 'sql': 'SELECT * FROM 1cRYFfBB_nA0qUSAe6R8vI96G2yxIULrX92FOum4'}))) request_open = urllib2.urlopen(request) response = request_open.read() request_open.close() print response
使用以下代码进行 POST
import httplib, urllib, urllib2
query = 'INSERT INTO 1cRYFfBB_nA0qUSAe6R8vI96G2yxIULrX92FOum4 (locations, strings, numbers) VALUES (1,2,3);'
data = urllib.urlencode({'sql': query})
URL = 'https://www.googleapis.com/fusiontables/v1/query'
headers = {
'Authorization': 'GoogleLogin auth=' + access_token,
'Content-Type': 'application/x-www-form-urlencoded',
}
serv_req = urllib2.Request(url=URL, data=data, headers=headers)
serv_resp = urllib2.urlopen(serv_req)
我收到 HTTPError:HTTP 错误 401:未经授权
这是在我可以在具有相同 access_token 的私有表上运行 Select 之后 - 我假设我有代码或语法问题。
另外 - 我是 Python 新手和 Fusion Tables 新手 - 提前感谢您的任何建议。