Sheets API batchupdate выдает TypeError при попытке изменить цвет фона - PullRequest
0 голосов
/ 14 октября 2018

Если говорить более конкретно, я следую базовому руководству Google, пытающемуся изменить цвет фона ячейки для другого приложения, но сейчас я запускаю его один для тестирования.Запускаемый код:

    def highlight(sheetId):
    from googleapiclient.discovery import build
    from httplib2 import Http
    from oauth2client import file, client as gclient, tools

    SCOPES = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive']

    store = file.Storage('token.json')
    creds = store.get()
    if not creds or creds.invalid:
        flow = gclient.flow_from_clientsecrets('credentials.json', SCOPES)
        creds = tools.run_flow(flow, store)
    servicebot = build('sheets', 'v4', http=creds.authorize(Http()))

    reqs = {"requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": sheetId,
          "startColumnIndex": 2,
          "endColumnIndex": 4,
          "startRowIndex": 0,
          "endRowIndex": 1,
        },
        "cell": {
          "userEnteredFormat": {
            "backgroundColor": {
              "red": 1.0,
              "green": 0.0,
              "blue": 0.0
            },
          }
        },
        "fields": "userEnteredFormat(backgroundColor)"
      }
    }
    ]}



    servicebot.spreadsheets().batchUpdate('19G_4_m-H_jLjXHKxb5Q4PyHSf1Tv9GgbQP-13F95tjQ', body=reqs).execute

highlight(0)

И когда я запускаю его, я получаю сообщение об ошибке

    Traceback (most recent call last):
  File "C:\Users\rexfo\Desktop\autosparring\test.py", line 51, in <module>
    highlight(0)
  File "C:\Users\rexfo\Desktop\autosparring\test.py", line 49, in highlight
    servicebot.spreadsheets().batchUpdate('19G_4_m-H_jLjXHKxb5Q4PyHSf1Tv9GgbQP-13F95tjQ', body=reqs).execute
TypeError: method() takes 1 positional argument but 2 were given

Так как же мне обойти это?Что я делаю не так в этом

1 Ответ

0 голосов
/ 21 мая 2019

Прошло много времени, надеюсь, это поможет.Я считаю, что выполнение должно быть методом.Это означает, что вам нужно сделать servicebot.spreadsheets().batchUpdate('19G_4_m-H_jLjXHKxb5Q4PyHSf1Tv9GgbQP-13F95tjQ', body=reqs).execute(), чтобы функционал работал.

:)

...