这是我的Python代码,不再有效。我收到此消息:“Twitter REST API v1不再有效。请迁移到API v1.1”。
Python代码基本上使用Python-Twitter库向Twitter询问用户“x”的状态,然后它获取最后一个状态并搜索术语“#driptwit”。 如果找到,它会将ASCII值1发送到串行端口(以及Arduino)。如果找到#driptwitstop,它会发送一个ASCII值为0.最后,它会每隔15秒循环并检查一次Twitter帐户以查找更改。
正如您所看到的,下面是您输入最后一步从Twitter获得的密钥的位置。
我需要更改代码才能修复它?
以下是实际代码:
Enter code here
##Import Libraries``
import twitter
import serial
import time
##Authenticate yourself with Twitter
api = twitter.Api(consumer_key='consumerkeyhere', consumer_secret='consumersecrethere', access_token_key='accesskey', access_token_secret='accesssecret')
##Set to your serial port
ser = serial.Serial('COM3', 19200)
## Check serial port
def checkokay():
ser.flushInput()
time.sleep(3)
line = ser.readline()
time.sleep(3)
if line == ' ':
line = ser.readline()
print 'here'
## Welcome message
print 'Welcome To Drip Twit!'
print 'Making Coffee..'
def driptwit():
status = [ ]
x = 0
status = api.GetUserTimeline('X') ##Grab latest statuses
checkIt = [s.text for s in status] ##Put status in an array
drip = checkIt[0].split() ##Split first tweet into words
## Check for match and write to serial if match
if drip[0] == '#driptwit':
print 'Tweet received, making coffee'
ser.write('1')
elif drip[0] == '#driptwitstop': ##Break if done
ser.write('0')
print 'Stopped, awaiting instructions.'
else:
ser.write('0')
print 'Awaiting tweet'
while 1:
driptwit() ## Call driptwit function
time.sleep(15) ## Sleep for 15 seconds to avoid rate limiting.
答案 0 :(得分:4)
消息'Twitter REST API v1不再有效。请迁移到API v1.1'
https://api.twitter.com/1/将其更改为https://api.twitter.com/1.1/
将两者都更改为1.1 微博/ twitteroauth.php:
应用/ THIRD_PARTY / hybridauth /混合/提供者/ Twitter.php:
答案 1 :(得分:2)
您的Twitter模块所基于的Twitter API已停止使用。您需要参考一个更新的Twitter软件包,它将使用1.1 API。
就像@Madbreaks所说的那样:您可以使用Stack Overflow问题 Authentication for new Twitter API 1.1 中提供的一些解决方案编写自己的解决方案。
您必须使用1.1编写自己的API,或者找到另一个支持1.1的软件包。错误消息的重要部分是:u'The Twitter REST API v1 is no longer active. Please migrate to API v1.1. dev.twitter.com/docs/api/1.1/overview.'