2

私は次のコードを持っており、oauth2トークンフォームファイルを読み取り、ドキュメントのリストクエリを実行して、コピーしたい特定のスプレッドシートを見つけようとしますが、コードを試しても、エラーが発生するか、ドキュメントを含まないオブジェクトで返されますデータ。

私はgdata.docs.client.DocsClientを使用しています。これは、私が知る限り、APIのバージョン3です。

def CreateClient():
"""Create a Documents List Client."""
client = gdata.docs.client.DocsClient(source=config.APP_NAME)
client.http_client.debug = config.DEBUG
# Authenticate the user with CLientLogin, OAuth, or AuthSub.

if os.path.exists(config.CONFIG_FILE):
    f = open(config.CONFIG_FILE)
    tok = pickle.load(f)
    f.close()
    client.auth_token = tok.auth_token

return client

最初のクエリ試行

def get_doc():


new_api_query = gdata.docs.client.DocsQuery(title='RichSheet', title_exact=True, show_collections=True)

d = client.GetResources(q = new_api_query)

これは次のスタックトレースで失敗します

    Traceback (most recent call last):
  File "/Users/richard/PycharmProjects/reportone/make_my_report.py", line 83, in <module>
    get_doc()
  File "/Users/richard/PycharmProjects/reportone/make_my_report.py", line 57, in get_doc
    d = client.GetResources(q = new_api_query)
  File "/Users/richard/PycharmProjects/reportone/gdata/docs/client.py", line 151, in get_resources
    **kwargs)
  File "/Users/richard/PycharmProjects/reportone/gdata/client.py", line 640, in get_feed
    **kwargs)
  File "/Users/richard/PycharmProjects/reportone/gdata/docs/client.py", line 66, in request
    return super(DocsClient, self).request(method=method, uri=uri, **kwargs)
  File "/Users/richard/PycharmProjects/reportone/gdata/client.py", line 267, in request
    uri=uri, auth_token=auth_token, http_request=http_request, **kwargs)
  File "/Users/richard/PycharmProjects/reportone/atom/client.py", line 115, in request
    self.auth_token.modify_request(http_request)
  File "/Users/richard/PycharmProjects/reportone/gdata/gauth.py", line 1047, in modify_request
    token_secret=self.token_secret, verifier=self.verifier)
  File "/Users/richard/PycharmProjects/reportone/gdata/gauth.py", line 668, in generate_hmac_signature
    next, token, verifier=verifier)
  File "/Users/richard/PycharmProjects/reportone/gdata/gauth.py", line 629, in build_oauth_base_string
    urllib.quote(params[key], safe='~')))
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 1266, in quote
    if not s.rstrip(safe):
AttributeError: 'bool' object has no attribute 'rstrip'

Process finished with exit code 1

それから私の2回目の試み

def get_doc():

    other = gdata.docs.service.DocumentQuery(text_query='RichSheet')

    d = client.GetResources(q = other)

これはResourceFeedオブジェクトを返しますが、コンテンツはありません。私はこれらの関数のソースコードを調べましたが、物事は明らかではありません。

私は何かを逃したことがありますか?または、APIのバージョン2に戻る必要がありますか?

4

0 に答える 0