Скрипт Google Drive API не работает для писем, кроме моего собственного письма - PullRequest
1 голос
/ 12 апреля 2020

Хорошо, я сделал скрипт, который требует некоторые входные данные, собрал их вместе в строку, затем загрузил файл user_info.txt с моего диска Google, а затем добавил эту строку в этот файл и загрузил ее обратно на диск Google. Он работает на моей машине, как и положено, но когда я отправляю exe-файл своему другу вместе с client_secrets. json он пробует это и говорит, что аутентификация прошла успешно, но строка не добавляется в txt-файл, когда я проверяю его на своем Гугл драйв. Поэтому я предполагаю, что по какой-то причине он не может загрузить файл user_info.txt на его p c, потому что я не поместил функцию удаления user_info.txt после загрузки в мой код, а на его p c отсутствует user_info. TXT-файл после запуска EXE-файла этого скрипта. Пожалуйста, помогите!

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from os import system, name
from time import sleep


class Register(object):
    def __init__(self):
        system('cls')
        self.fname = input("First name: ")
        system('cls')
        self.lname = input("Last name: ")
        system('cls')
        self.passw = input("Password: ")
        system('cls')


    def Upload(self):
        fileList=drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList()
        for files in fileList:
            if files['title'] == 'user_info.txt':
                files.GetContentFile("user_info.txt")
                update = files.GetContentString() + self.fname + " " + self.lname + " " + self.passw + "\n"
                files.SetContentString(update)
                files.Upload()   
                break   


gauth=GoogleAuth()
drive=GoogleDrive(gauth)
system('cls')


while True:
    Registration = Register()
    if Registration.fname.isalpha() == False:
        print("Invalid first name!")
        sleep(1)
        continue
    elif Registration.lname.isalpha() == False:
        print("Invalid last name!")
        sleep(1)
        continue
    else:
        Registration.Upload()
        system('cls')
        print(f"Welcome {Registration.fname} {Registration.lname}.")
        next = input("")
        system('cls')
        break

**** ОБНОВЛЕНИЕ **** Я понял, что скрипт работает только для моей электронной почты, где я включил Drive API и использовал его в коде, но, похоже, для других писем (пользователей) отказаться от выполнения той части кода, где предполагается загрузить текстовый файл, отредактировать его и загрузить. Как будто он отказывается от соединения, если это не моя электронная почта, а в браузере написано «Процесс аутентификации завершен» ... Как включить его для других писем (пользователей)

...