これが基本的なものである場合はお詫びします-私はしばらくの間、認証されたPOSTをGoogle Fusion Tablesに正常に送信して、プライベートテーブルへの挿入をテストしようとしてきました。
フュージョンテーブルのドキュメントで例とライブラリを読んだことがありますが、例は通常、select(vs. inserts)であり、Pythonで使用できるライブラリはOAuth2.0では機能しないようです。
私は成功しました-
- OAuth2.0で認証されています。アクセストークンと更新トークンを持っています。
Googleの例から直接、次のコードを使用してプライベートテーブルでselectを実行できます。
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 Error 401:Unauthorized
これは、同じaccess_tokenを使用してプライベートテーブルでSelectを実行できる直後です。コードまたは構文に問題があると想定しています。
また、私はPythonの初心者であり、FusionTablesの初心者です。アドバイスを事前に感謝します。