我使用Python2.7.15,我正在尝试创建一个GUI,它允许您使用自定义的源标签("Twitter .“)但是我的当前代码在接受变量作为源标签时,它不喜欢将状态作为变量。
代码:
import tweepy
from Tkinter import *
auth = tweepy.OAuthHandler('lol', 'nice')
auth.set_access_token('try', 'xD')
api = tweepy.API(auth)
def tweet():
message = messageStorage.get()
sourceLabel = sourceLabelStorage.get()
api.update_status(message, source = sourceLabel)
gui = Tk()
gui.title('')
messageStorage = StringVar()
sourceLabelStorage = StringVar()
label0 = Label(gui, text='Enter Tweet').pack()
entry0 = Entry(gui, textvariable=messageStorage).pack()
label1 = Label(gui, text='Enter Source Label').pack()
entry1 = Entry(gui, textvariable=sourceLabelStorage).pack()
button0 = Button(gui, text='Tweet', command=tweet(), bg='#1da1f2').pack(pady=5)
gui.mainloop()
错误:
Traceback (most recent call last):
File "C:/Users/My Name/Desktop/customSourceLabel_twitter.py", line 24, in <module>
button0 = Button(gui, text='Tweet', command=tweet(), bg='#1da1f2').pack(pady=5)
File "C:/Users/My Name/Desktop/customSourceLabel_twitter.py", line 12, in tweet
api.update_status(message, source = sourceLabel)
File "C:\Python27\lib\site-packages\tweepy\api.py", line 195, in update_status
)(post_data=post_data, *args, **kwargs)
File "C:\Python27\lib\site-packages\tweepy\binder.py", line 250, in _call
return method.execute()
File "C:\Python27\lib\site-packages\tweepy\binder.py", line 234, in execute
raise TweepError(error_msg, resp, api_code=api_error_code)
TweepError: [{u'message': u'Missing required parameter: status.', u'code': 170}]
提前感谢
发布于 2019-03-05 20:46:23
在Tweepy文献中,您似乎必须将第一个参数显式地标识为status
,如下所示:
api.update_status(status=message, source=sourceLabel)
编辑:正如@Bryan所指出的那样,在代码中还有另一个bug --在调用Button()
时,参数command=tweet
不应该在函数名后面加上括号--但是这与您发布的错误消息是分开的,而且除了您发布的错误消息之外。
https://stackoverflow.com/questions/55011160
复制相似问题