Как реализовать клиентскую OAuth2 в веб-расширении? - PullRequest
0 голосов
/ 11 апреля 2019

Я делаю веб-расширение, которое принимает выделенные фрагменты и выполняет некоторую обработку на естественном языке.В настоящее время я запускаю все сценарии NLP со своего собственного флеш-сервера и отправляю результаты обратно на свое веб-расширение, но я хотел бы, чтобы результаты отображались в новом документе на диске Google на стороне пользователя.

Возможно ли использовать сценарий в пакете веб-расширений для обработки OAuth2, а затем использовать HTTP-запрос для создания нового документа?

Я изначально пытался реализовать пример серверной части в Python изhttps://developers.google.com/docs/api/quickstart/python

Однако он работает только для учетной записи, привязанной к серверу, и поэтому не будет работать на стороне пользователя.

def main():
    creds = None
    if os.path.exists('token.pickle'):
        with open('token.pickle', 'rb') as token:
            creds = pickle.load(token)
    # If there are no (valid) credentials available, let the user log in.
    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()
        # Save the credentials for the next run
        with open('token.pickle', 'wb') as token:
            pickle.dump(creds, token)

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

    # Retrieve the documents contents from the Docs service.
    title = 'My Document'
    body = {
        'title': title
    }
    document = service.documents().create(body=body).execute()

Мне кажется,как мне нужно сделать запрос к API Google с расширением браузера, а не с веб-сервера.Возможно ли это облегченным способом с функциями javascript моего расширения?

...