【问题标题】:Google api batch update giving HTTP 400 error. PythonGoogle api 批量更新给出 HTTP 400 错误。 Python
【发布时间】:2019-10-02 08:49:24
【问题描述】:

Google api for docs 给了我 HTTP 400 错误。

googleapiclient.errors.HttpError: <HttpError 400 when requesting https://docs.googleapis.com/v1/documents/1Z2rAi7CJINAwxzizOsIw0_UB1iguHaduIDBV5cOZ4iQ:batchUpdate?alt=json returned "Invalid requests[0].insertText: The insertion index must be inside the bounds of an existing paragraph. You can still create new paragraphs by inserting newlines.">

我找遍了所有地方才能找到它。它是插入一个空白文档。它说要添加一个新段落,但我不知道如何。

title = 'My Document'
text1 = "hi this is the first one"
text2 = "hi this is the first one"
text3 = "hi this is the first one"
body = {


        'title': title

    }
    requests = [
        {
            'insertText': {
                'location': {
                    'index': 0,
                },
                'text': text1
            }
        }
    ]




doc = service.documents().create(body=body).execute()
print('Created document with title: {0}'.format(
        doc.get('title')))
docid = doc.get('documentId')
print(docid)
result = service.documents().batchUpdate(documentId=docid, body={'requests': requests}).execute()

完整的错误信息是这样的:

"E:/Python/News Uploader to Google Driver/venv/Scripts/quickstart.py"
Created document with title: My Document
1Z2rAi7CJINAwxzizOsIw0_UB1iguHaduIDBV5cOZ4iQ Traceback (most recent
call last):   File "E:/Python/News Uploader to Google
Driver/venv/Scripts/quickstart.py", line 76, in <module>
    main()   File "E:/Python/News Uploader to Google Driver/venv/Scripts/quickstart.py", line 70, in main
    result = service.documents().batchUpdate(documentId=docid, body={'requests': requests}).execute()   File "E:\Python\News Uploader
to Google Driver\venv\lib\site-packages\googleapiclient\_helpers.py",
line 130, in positional_wrapper
    return wrapped(*args, **kwargs)   File "E:\Python\News Uploader to Google Driver\venv\lib\site-packages\googleapiclient\http.py", line
856, in execute
    raise HttpError(resp, content, uri=self.uri) googleapiclient.errors.HttpError: <HttpError 400 when requesting
https://docs.googleapis.com/v1/documents/1Z2rAi7CJINAwxzizOsIw0_UB1iguHaduIDBV5cOZ4iQ:batchUpdate?alt=json
returned "Invalid requests[0].insertText: The insertion index must be
inside the bounds of an existing paragraph. You can still create new
paragraphs by inserting newlines.">

Process finished with exit code 1

【问题讨论】:

    标签: python api documentation google-docs-api


    【解决方案1】:

    在您的请求中,您应该将位置索引指定为 1,因为 Google API 是从 1 开始索引的

    requests = [
            {
                'insertText': {
                    'location': {
                        'index': 1,
                    },
                    'text': text1
                }
            }
        ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-21
      • 2015-02-01
      • 2020-11-27
      • 1970-01-01
      • 1970-01-01
      • 2021-02-16
      • 1970-01-01
      相关资源
      最近更新 更多