>

Python 2.7.15를 사용하고 있으며 사용자 정의 소스 레이블 ( "Twitter for ...")로 트윗 할 수있는 GUI를 만들려고하지만 소스 코드에 대한 변수를 허용하면서 현재 코드는 변수로 상태를 좋아하지 않습니다.

코드 :

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}]

미리 감사합니다


  • 답변 # 1

    Tweepy 문서에서 첫 번째 매개 변수를 status 로 명시 적으로 식별해야하는 것처럼 보입니다. , 이렇게 :

    api.update_status(status=message, source=sourceLabel)
    
    

    수정 :@Bryan Oakley가 지적했듯이 코드에또 다른버그가 있습니다. 매개 변수 Button()  함수 이름 뒤에 괄호를 사용해서는 안됩니다. 그러나 게시 한 오류 메시지와는 별도로 괄호가 없어야합니다.

    command=tweet

관련 자료

  • 이전 java - DAL을 사용하여 데이터로 콤보 상자 채우기
  • 다음 Guava StandardTable put 메소드가 널값을 거부하는 이유