Я использую python, чтобы создать способ отслеживать перспективы, с которыми я отправлял книги, но не слышал назад. Быстрый способ догнать их. Необходимо подчеркнуть, что это не используется для СПАМ.Не удалось выполнить проверку подлинности с помощью gspread для доступа к Google Диску
У меня есть один файл, который содержит gmail_variable.py gmail_username = «[email protected]» GMAIL_PASSWORD = «myGmailPassword»
Ниже использует эти данные для входа в Google Drive и отправить всех, кто еще не получил ко мне. Работа абсолютно прекрасна до сегодняшнего дня. Начал получать следующую ошибку. Я запускаю это из своего терминала и сохраняю код локально на своей машине.
Traceback (most recent call last):
File "pr_email_robot.py", line 6, in <module>
gc = gspread.login(GMAIL_USERNAME, GMAIL_PASSWORD)
File "/Library/Python/2.7/site-packages/gspread/client.py", line 312, in login
client.login()
File "/Library/Python/2.7/site-packages/gspread/client.py", line 119, in login
"Unable to authenticate. %s code" % ex.code)
gspread.exceptions.AuthenticationError: Unable to authenticate. 404 code
Ниже приведен код, который выполняется. Я знаю, что 20 апреля 20 апреля произошли изменения в соответствии с тем, что я прочитал. Но приведенный ниже код работал до тех пор.
После некоторых исследований я обнаружил, что gspread рекомендуем заменить
gc = gspread.login(GMAIL_USERNAME, GMAIL_PASSWORD)
с
gc = gspread.authorize(OAuth2Credentials)
Я тогда пошел через руководство here и настройка API, как они предложили. Загрузили файл JSON. НО что мне заменить OAuth2Credentials?
gc = gspread.authorize(OAuth2Credentials)
Любые идеи или советы, которые получили высокую оценку. Тем не менее очень новый Python так просто объяснения полезны :)
import smtplib
import gspread
from gmail_variables import *
gc = gspread.login(GMAIL_USERNAME, GMAIL_PASSWORD)
wks = gc.open("horror_reviewers").sheet1
recipients = wks.get_all_values()
def sendEmail(recipient):
email_subject = "Jay-Jay"
#recipient = "[email protected]"
body_of_email = "<body><p>Hello "+ recipient[1].encode('utf-8') +",<br /> \
<br /> \
We spoke in the last few months X book.<br /> \
<br /> \
Have a note that we sent you a copy and confirmed a review. Did we send over what you needed or are you still awaiting details from us?</a><br /> \
<br /> \
Apologies if you have already posted the link and we missed it. If you could resend that would be great.<br /> \
<br /> \
</p></body>"
session = smtplib.SMTP('smtp.gmail.com', 587)
session.ehlo()
session.starttls()
session.login(GMAIL_USERNAME, GMAIL_PASSWORD)
headers = "\r\n".join(["from: " + GMAIL_USERNAME,
"subject: " + email_subject,
"to: " + recipient[0],
"mime-version: 1.0",
"content-type: text/html"])
# body_of_email can be plaintext or html!
content = headers + "\r\n\r\n" + body_of_email
session.sendmail(GMAIL_USERNAME, recipient[0], content)
[sendEmail(i) for i in recipients]
Спасибо @VikashSingh, но он не интегрируется с Google Диском так же, как существующая система. – PatGW
проверка использования gspread, будет включать это в код. –
Можете ли вы попробовать эту ссылку и посмотреть, работает ли она для u: http://gspread.readthedocs.org/en/latest/oauth2.html –