Как исправить ошибку при получении документа из Google API?

from google.oauth2.service_account import Credentials
from googleapiclient.discovery import build
import random
import msvcrt 
import json

credentials_doc = 'service_account.json'


service_account_info = json.load(open(credentials_doc))
credentials = Credentials.from_service_account_info(service_account_info)
service = build('drive', 'v3', credentials=credentials)

document_id='my_doc_drive_id'

document = service.comments().get(documentId=document_id).execute()
print(document)

ошибка: документ = service.comments().get(documentId=document_id).execute() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ поднять TypeError("Получил неожиданный аргумент ключевого слова {}".format(name)) Ошибка типа: получен неожиданный аргумент ключевого слова documentId.

как я могу получить свой документ ** ссылка на диск:https://docs.google.com/document/d/my_doc_drive_id**

Я хочу получить информацию о моем диске и обработку входящих документов.

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
1
0
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Судя по how can i get my document ** drivelink:https://docs.google.com/document/d/my_doc_drive_id** и I want to get my drive doc infos and processing incomings, я считаю, что ваша цель следующая.

  • Вы хотите получить документ Google с помощью googleapis для Python.
  • Ваша учетная запись службы может получить доступ к Документу Google document_id='my_doc_drive_id'.

Точки модификации:

  • Ваш скрипт пытается получить комментарий из файла с помощью Drive API. Кроме того, при получении комментария необходимо использовать fileId и commentId. Судя по вашему вопросу, я предполагаю, что ваш document_id='my_doc_drive_id' может быть идентификатором документа Google, который не является идентификатором комментария. Я предположил, что это может быть причиной вашей нынешней проблемы.

Если вы хотите получить документ Google, необходимо использовать API Документов Google.

Модифицированный скрипт:

from google.oauth2.service_account import Credentials
from googleapiclient.discovery import build
import json

credentials_doc = 'service_account.json'

service_account_info = json.load(open(credentials_doc))
credentials = Credentials.from_service_account_info(service_account_info)

service = build('docs', 'v1', credentials=credentials)

document_id='my_doc_drive_id' # Please set your Google Document ID.

document = service.documents().get(documentId=document_id).execute()
print(document)
  • При запуске этого сценария, когда ваша учетная запись службы может получить доступ к документу document_id='my_doc_drive_id', извлекается объект из документа Google.

Примечание:

  • Если вы хотите получить метаданные файла Документов Google с помощью Drive API, я думаю, что можно использовать следующий скрипт.

    from google.oauth2.service_account import Credentials
    from googleapiclient.discovery import build
    import json
    
    credentials_doc = 'service_account.json'
    
    service_account_info = json.load(open(credentials_doc))
    credentials = Credentials.from_service_account_info(service_account_info)
    
    service = build("drive", "v3", credentials=credentials)
    
    document_id='my_doc_drive_id' # Please set your Google Document ID.
    
    document = service.files().get(fileId=document_id, fields = "*").execute()
    print(document)
    

Использованная литература:

<модуль> document = service.files().get(fileId=document_id, field = "*").execute() ^^^^^^^^^^^^^ AttributeError: объект «Ресурс» не имеет атрибута ' файлы' :(

isil 05.04.2024 00:17

проблема решена с помощью service = build('docs', 'v1', Credentials=credentials) и document = service.documents().get(documentId=document_id).execute() большое спасибо

isil 05.04.2024 00:29

ок, твой ответ помог мне решить проблему, но правильный ответ в комментарии и проверен

isil 08.04.2024 06:07

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