Google spreadsheets - getting started

Discussion in 'Python' started by Mark Carter, Nov 3, 2012.

  1. Mark Carter

    Mark Carter Guest

    I want to mess around with my online Google spreadsheets from my Linux box programmatically. I am TOTALLY confused.

    I've got gdata installed, and it appears that the best way to access the spreadsheets is to authenticate with Oauth2.

    Here's the main thing: how do I get an Oauth2 key to use with Google spreadsheets?

    I obtain a "p12" key, but I don't know if that's for something completely different.
     
    Mark Carter, Nov 3, 2012
    #1
    1. Advertising

  2. Mark Carter

    Mark Carter Guest

    OK, maybe the p12 file is useful after all (?) I've got the following code:

    import gdata

    tokenfile = "my-privatekey.p12"
    f = open(tokenfile, 'r')
    blob = f.read()
    f.close()
    token = gdata.gauth.token_from_blob(blob)

    When I run that I get:
    Traceback (most recent call last):
    File "/home/mcarter/wapp.py", line 8, in <module>
    token = gdata.gauth.token_from_blob(blob)
    AttributeError: 'module' object has no attribute 'gauth'

    I guess I'm using a newer version of gdata (2.0.14).

    None of this makes any sense.
     
    Mark Carter, Nov 3, 2012
    #2
    1. Advertising

  3. Mark Carter

    Mark Carter Guest

    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??
     
    Mark Carter, Nov 3, 2012
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Raoul Snyman
    Replies:
    14
    Views:
    11,138
    Curt_C [MVP]
    Apr 29, 2004
  2. John Machin
    Replies:
    15
    Views:
    761
  3. Michele Simionato

    Google spreadsheets

    Michele Simionato, Aug 31, 2007, in forum: Python
    Replies:
    3
    Views:
    377
    Michele Simionato
    Sep 2, 2007
  4. Replies:
    0
    Views:
    1,333
  5. Jake Barnes
    Replies:
    2
    Views:
    322
Loading...

Share This Page