OK, the story so far:
import gdata
import gdata.auth
import gdata.gauth
import gdata.docs.service
import OpenSSL.crypto
tokenfile = "privatekey.p12"
#f = open(tokenfile, 'r')
#blob = f.read()
#f.close()
#if blob:
p12 = OpenSSL.crypto.load_pkcs12(file(tokenfile, 'rb').read(), 'notasecret')
print p12.get_certificate()
#token = gdata.gauth.token_from_blob(p12)
#print "token: ", token
gd_client = gdata.docs.service.DocsService()
#gd_client.SetOAuthToken(token)
gd_client.SetOAuthToken(p12)
feed = gd_client.GetDocumentListFeed() # line 22
for entry in feed.entry:
print entry.title.text.encode('UTF-8')
print "Finished"
It baulks as follows:
/usr/bin/python -u "/home/mcarter/wapp.py"
<X509 object at 0x7fccc0917a50>
Traceback (most recent call last):
File "/home/mcarter/wapp.py", line 22, in <module>
feed = gd_client.GetDocumentListFeed()
File "/usr/lib/pymodules/python2.7/gdata/docs/service.py", line 259, in GetDocumentListFeed
return self.QueryDocumentListFeed(uri)
File "/usr/lib/pymodules/python2.7/gdata/docs/service.py", line 238, in QueryDocumentListFeed
return self.Get(uri, converter=gdata.docs.DocumentListFeedFromString)
File "/usr/lib/pymodules/python2.7/gdata/service.py", line 1068, in Get
headers=extra_headers)
File "/usr/lib/pymodules/python2.7/atom/__init__.py", line 92, in optional_warn_function
return f(*args, **kwargs)
File "/usr/lib/pymodules/python2.7/atom/service.py", line 184, in request
return auth_token.perform_request(self.http_client, operation, url,
AttributeError: 'PKCS12' object has no attribute 'perform_request'
What??