道歉,如果这是基本的东西 - 我已经尝试了一段时间成功将经过身份验证的POST发送到Google Fusion Tables以测试插入到私人表中。
已阅读融合表文档中的示例和库 - 但示例通常似乎是选择(与插入相比),而且可用于Python的库似乎不适用于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之后 - 我假设我有代码或sytax问题。
另外 - 我是Python新手和Fusion Tables新手 - 提前感谢任何建议。