电子表格列表Gdata OAuth2

Gau*_*tam 3 gdata google-spreadsheet-api google-apps-marketplace google-oauth

在Gdata中使用电子表格api获取电子表格列表,

Oauth1 Way

spreadSheetService = gdata.spreadsheet.service.SpreadsheetsService()
spreadSheetService.SetOAuthInputParameters(gdata.auth.OAuthSignatureMethod.HMAC_SHA1,self.CONSUMER_KEY,self.CONSUMER_SECRET,two_legged_oauth=True, requestor_id=self.requestor_id)
spreadSheetService.GetSpreadsheetsFeed(query = q)
Run Code Online (Sandbox Code Playgroud)

但由于spreadSheetService不适用于OAuth2,因此不会解决问题#594

如何查询电子表格列表gdata.spreadsheets.client.SpreadsheetClient

aei*_*erg 7

(假设是Python)

我能够使用gd_client.auth_token = gdata.gauth.OAuth2TokenFromCredentials(credentials)OAuth2流创建的凭证对象(使用oauth2client)并将其与gdata库一起使用.

这里有完整示例(对于命令行应用程序):

# Do OAuth2 stuff to create credentials object
from oauth2client.file import Storage
from oauth2client.client import flow_from_clientsecrets
from oauth2client.tools import run

storage = Storage("creds.dat")
credentials = storage.get()
if credentials is None or credentials.invalid:
  credentials = run(flow_from_clientsecrets("client_secrets.json", scope=["https://spreadsheets.google.com/feeds"]), storage)

# Use it within gdata
import gdata.spreadsheets.client
import gdata.gauth

gd_client = gdata.spreadsheets.client.SpreadsheetsClient()
gd_client.auth_token = gdata.gauth.OAuth2TokenFromCredentials(credentials)
print gd_client.get_spreadsheets()
Run Code Online (Sandbox Code Playgroud)

如果您专门寻找双腿,相同的技术可行,但您需要创建不同类型的凭证对象.请参阅以下有关如何创建此问题的最新答案:使用带有证书身份验证的电子表格API OAuth2