使用 Twython 的 Twitter 上传问题 - 语法错误 - 无效令牌
Twitter upload issues using Twython - Syntax error - Invalid Token
当我 运行 以下 .py.
时,我不断收到无效令牌错误
我想做的是将简单的照相亭上传到 Twitter。
当你按下按钮时,它会拍照,然后上传。
令牌已替换为 XXXX。他们是正确的。
我似乎无法更正语法错误。
有什么想法吗?
*
#!/usr/bin/env python
from twython import Twython
from subprocess import call
import time
import random
import RPi.GPIO as GPIO
# Initialize GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(04, GPIO.IN) # GPIO4 is pin 7
# Twitter Token
consumer_key = 'xxxxx'
consumer_secret = 'xxxxx'
access_token = 'xxxxx'
access_token_secret = 'xxxxx'
SLEEP_DURATION = 10
messages = []
messages.append("Having a great time with Tactical 74. #tactical74 #tactical74photobooth")
messages.append("The Tactical 74 Photo Booth is on site! #tactical74 #tactical74photobooth")
messages.append("Thanks for visiting the Tactical 74 photo booth. #tactical74 #tactical74photobooth")
messages.append("Another happy customer served. #tactical74 #tactical74photobooth")
# wait for the button
while True:
# if pressed
if (GPIO.input(04)):
try:
# Take a picture
call("/opt/vc/bin/raspistill -e jpg --vflip -w 320 -h 320 -q 100 -o /tmp/snapshot.jpg", shell=True)
# Sign in to Twitter
twitter = Twython(
consumer_key,
consumer_secret,
access_token,
access_token_secret
)
# Post a status update with a picture
photo = open('/tmp/snapshot.jpg', 'rb')
r = random.randint(0, len(messages)-1)
message = messages[r]
twitter.update_status_with_media(status=message, media=photo)
except:
print("Unexpected error:")
# Sleep so that multiple pictures aren't taken of the same person
time.sleep(SLEEP_DURATION)
else:
time.sleep(0.25)
*
我不知道这是否能完全解决问题,但您的部分问题是 GPIO.setup(04, GPIO.IN)
、if (GPIO.input(04)):
中的 04
您不能在 Python 中的数字前使用 0
。例如:
a = 04
returns:
SyntaxError: invalid token
您所能做的就是将 04 转换为字符串或从您的代码中完全删除 0
。
请看
当我 运行 以下 .py.
时,我不断收到无效令牌错误我想做的是将简单的照相亭上传到 Twitter。 当你按下按钮时,它会拍照,然后上传。
令牌已替换为 XXXX。他们是正确的。
我似乎无法更正语法错误。
有什么想法吗?
*
#!/usr/bin/env python
from twython import Twython
from subprocess import call
import time
import random
import RPi.GPIO as GPIO
# Initialize GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(04, GPIO.IN) # GPIO4 is pin 7
# Twitter Token
consumer_key = 'xxxxx'
consumer_secret = 'xxxxx'
access_token = 'xxxxx'
access_token_secret = 'xxxxx'
SLEEP_DURATION = 10
messages = []
messages.append("Having a great time with Tactical 74. #tactical74 #tactical74photobooth")
messages.append("The Tactical 74 Photo Booth is on site! #tactical74 #tactical74photobooth")
messages.append("Thanks for visiting the Tactical 74 photo booth. #tactical74 #tactical74photobooth")
messages.append("Another happy customer served. #tactical74 #tactical74photobooth")
# wait for the button
while True:
# if pressed
if (GPIO.input(04)):
try:
# Take a picture
call("/opt/vc/bin/raspistill -e jpg --vflip -w 320 -h 320 -q 100 -o /tmp/snapshot.jpg", shell=True)
# Sign in to Twitter
twitter = Twython(
consumer_key,
consumer_secret,
access_token,
access_token_secret
)
# Post a status update with a picture
photo = open('/tmp/snapshot.jpg', 'rb')
r = random.randint(0, len(messages)-1)
message = messages[r]
twitter.update_status_with_media(status=message, media=photo)
except:
print("Unexpected error:")
# Sleep so that multiple pictures aren't taken of the same person
time.sleep(SLEEP_DURATION)
else:
time.sleep(0.25)
*
我不知道这是否能完全解决问题,但您的部分问题是 GPIO.setup(04, GPIO.IN)
、if (GPIO.input(04)):
04
您不能在 Python 中的数字前使用 0
。例如:
a = 04
returns:
SyntaxError: invalid token
您所能做的就是将 04 转换为字符串或从您的代码中完全删除 0
。
请看