2012-07-04 34 views
3

道歉如果這是基本的東西 - 我一直在嘗試一段時間才能成功發送通過認證的POST到Google Fusion Tables來測試插入到私人表中。通過Python認證的POST插入到Google Fusion Tables中

已經閱讀過融合表文檔中的示例和庫 - 但這些示例似乎通常是選擇(而不是插入),可用於Python的庫似乎不適用於OAuth 2.0。

我已經成功地 -

  1. 身份驗證使用OAuth 2.0。有訪問令牌和刷新令牌。
  2. 我可以在一個專用表做選擇下面的代碼直出的谷歌的例子:對於一個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

    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 
    

用下面的代碼:HTTP錯誤401:未授權

這是正確的後,我可以在一個私人表上運行選擇相同access_token - 我假設我有一個代碼或sytax問題。

另外 - 我是一個Python新手和Fusion Tables新手 - 在此先感謝您的任何建議。

回答

0

請求,OAuth的可能是值得一看:https://github.com/maraujop/requests-oauth

+0

嗨 - 感謝您的意見 - 請求-的OAuth看起來真棒,但我認爲,它使用OAuth 1.0。 –

+0

嗨夥計們 - 有任何其他有用的評論 - 我仍然堅持 –

+0

我也很感興趣的一個簡單的例子來驗證和讀/寫融合表。 – Fabrizio