Как зарегистрировать «Недопустимые запросы [0].updateTextStyle: по крайней мере одно поле должно быть указано в полях». (Используйте '*' для указания всех полей.)">'

Я пытаюсь обновить документы Google, и когда я пытаюсь нажать на обновление, он говорит googleapiclient.errors.HttpError: <HttpError 400 when requesting https://docs.googleapis.com/v1/documents/1UeorM9adOh8Nds1Z457RRKBZMkh0VZ_kn_jllpkzh7U:batchUpdate?alt=json returned "Invalid requests[0].updateTextStyle: At least one field must be listed in 'fields'. (Use '*' to indicate all fields.)">, и я понятия не имею, что это значит.

Это метод, который выдает ошибку

def update(request):
    result = service.documents().batchUpdate(
        documentId=DOCUMENT_ID, body = {'requests': [request]}).execute()
    return result

Если кто-то может помочь, это было бы здорово!

Вот что такое моя просьба

request = {
  'updateTextStyle': {
    'range': {
      'segmentId': None,
      'startIndex': None, # gets filled with the proper number
      'endIndex': None # gets filled with the proper number
    },
    'textStyle': {
      "bold": False,
      "italic": False,
      "underline": False,
      "strikethrough": False,
      "smallCaps": False,
      "backgroundColor": {
        'color': {
          'rgbColor': {
            'red': 0.2,
            'green': 0.2,
            'blue': 0.2
          }
        }
      },
      "foregroundColor": {
        'color': {
          'rgbColor': {
            'red': 0.96,
            'green': 0.96,
            'blue': 0.96
          }
        }
        },
    "fontSize": {
        'magnitude': 10,
        'unit': 'PT'
    },
  "weightedFontFamily": {
    'fontFamily': 'Courier New OS',
    'weight': 400
  },
  "baselineOffset": 'NONE',
  "link": None
    }
  }
}

Я думаю, что предоставление request, которое может воспроизвести вашу проблему, поможет пользователям подумать о вашем решении. Если вы можете сделать, пожалуйста, добавьте это к вашему вопросу.

Tanaike 11.06.2019 04:02

хорошо, я добавляю это

Max Gordon 11.06.2019 04:33

Спасибо за ответ. Я предложил точку модификации в качестве ответа. Не могли бы вы подтвердить это? Если это не тот результат, который вы хотите, я извиняюсь.

Tanaike 11.06.2019 05:01
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
3
3
694
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

At least one field must be listed in 'fields'. (Use '*' to indicate all fields.) означает, что свойство fields не задано в теле вашего запроса. Так, например, как насчет этой модификации?

От:

  },
  "baselineOffset": 'NONE',
  "link": None
    }
  }
}

К:

            },
            "baselineOffset": 'NONE',
            "link": None
        },
        "fields": "*"  # Added
    }
}

Примечание:

  • Этот ответ предполагает, что вы уже смогли обновить Документ Google с помощью API Документов Google.
  • Эта модификация предполагает, что при использовании этого тела запроса None из 'range': {'segmentId': None, 'startIndex': None, 'endIndex': None}, и "link": None заменяются на правильные значения.

Ссылка:

Ну, что-то изменилось, но это не похоже на то, что нужно делать, это то, что сейчас написано googleapiclient.errors.HttpError: <HttpError 400 when requesting https://docs.googleapis.com/v1/documents/1UeorM9adOh8Nds1Z45‌​7RRKBZMkh0VZ_kn_jllp‌​kzh7U:batchUpdate?al‌​t=json returned "Invalid JSON payload received. Unknown name "fields" at 'requests[0]': Cannot find field.">

Max Gordon 11.06.2019 14:44

Подождите, нет, я поставил поля не на ту остановку, вы были правы, спасибо!

Max Gordon 11.06.2019 14:59

@Max Gordon Спасибо за ответ. Я рад, что ваша проблема была решена. И тебе спасибо.

Tanaike 12.06.2019 00:18

Другие вопросы по теме