Как использовать API Google do c для замены определенного текста в файле c Google do, который находится на диске - PullRequest
0 голосов
/ 09 мая 2020

Я новичок в программировании python, и у меня нет опыта работы с какими-либо облачными API.

Я работаю над проектом, в котором пытаюсь открыть любой общий Google do c на диске и заменить в нем все вхождения строки.

Я тоже пытаюсь заменить некоторые изображения do c другими изображениями (.jpeg / .png). Я изо всех сил пытаюсь это сделать.

Вот что я пробовал до сих пор:

        from __future__ import print_function
        import pickle
        import os.path
        from googleapiclient.discovery import build
        from google_auth_oauthlib.flow import InstalledAppFlow
        from google.auth.transport.requests import Request

        # If modifying these scopes, delete the file token.pickle.
        SCOPES = ['https://www.googleapis.com/auth/drive.file']

        def main():

        creds = None

        if os.path.exists('token.pickle'):
        with open('token.pickle', 'rb') as token:
            creds = pickle.load(token)

        if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file(
                './credentials.json', SCOPES)
            creds = flow.run_local_server()

        with open('token.pickle', 'wb') as token:
            pickle.dump(creds, token)

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

        title = 'New Header Doc'
        body = {
           'title': title
        }
        doc = service.documents().copy(body=body).execute()

        title = doc.get('title')
        _id = doc.get('documentId')
        print(f'Created document with title: {title}, id: {_id}')

        # Text insertion
        text = "The whole world is family"


         requests = [
         {
            'insertText': {
                'location': {
                    'index': 1,
                },
                'text': text
            }
          }
          ]
          string_rep = 'great'
          requests1 = [
          {
            'replaceAllText': {
                'containsText': {
                    'text': 'family',
                    'matchCase': 'true'
                },
                'replaceText': string_rep,
            }
          }
          ]

          result = service.documents().batchUpdate(documentId=_id, body={'requests': requests}).execute()
          result1 =service.documents().batchUpdate(documentId=_id, body={'requests':requests1}).execute()


          if __name__ == '__main__':
          main()

В приведенном выше коде я сначала создаю do c. Я создаю только тело; если бы я хотел создать верхний и нижний колонтитулы, как я мог бы написать этот оператор?

Как я могу открыть специальный c файл и как я могу управлять строкой в ​​нем? Я проверил краткий справочник Google, но не смог понять, как использовать API для этой функции. Пожалуйста, помогите !!!

Буду очень рад ответу. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...