트위터에서 같은 내용의 DM이나 트윗을 연달아 보낼 경우, 트위터 측에서 스팸으로 의심하고 차단하기 때문에 발생합니다. 저의 경우, DM과 관련된 API를 사용하다가 실수로 "나에게 온 DM에는 답변하지 않기" 기능을 넣는 것을 잊어 트위터가 "나에게 보내는 메시지"를 무한대로 보내게 되어 해당 오류가 발생했습니다.
B가 코딩하면 Boding
blog
7 Posts
오류 해결/Twitter API
오류 해결/Twitter API
tweepy.errors.Forbidden: 403 Forbidden 226 - This request looks like it might be automated. To protect our users from spam and other malicious activity, we can't complete this action right now. Please try again later.
오류 해결/Twitter API
tweepy.errors.TwitterServerError: 503 Service Unavailable 130 - Over capacity
트위터 서버의 과부하로 인한 오류로 보입니다. 트래픽 과다로, 요청을 처리할 시간을 준 뒤 다시 Twitter API를 사용하는 것이 해결책으로 보입니다.
오류 해결/Twitter API
Forbidden: 403 Forbidden 185 - User is over daily status update limit.
Twitter API에는 하루에 쓸 수 있는 트윗의 갯수가 정해져있습니다. 24시간을 기준으로 총 2400트윗인데, 3시간에 300트윗입니다. 해당량을 넘겼을 때 나오는 오류로, 이후의 트윗 작성이 불가능해집니다. 이 오류를 해결할 수 있는 방법은 아직까지 딱히 없는 것으로 보입니다.
오류 해결/Twitter API
tweepy.errors.TweepyException: Failed to send request: ('Connection aborted.', OSError(107, 'Transport endpoint is not connected'))
아직 원인을 명확히 밝혀내지는 못했으나 소켓과 관련된 오류인 것 같습니다. 그런데 소켓이나 드라이브 마운트를 하는 코드가 아니라서... 좀 더 알아봐야 할 것 같습니다. 재실행하니 문제는 해결됐습니다. 오류 핸들러는 추후에 따로 추가하는 것이 좋아보입니다.
오류 해결/Twitter API
Unauthorized: 401 Unauthorized 32 - Could not authenticate you.
API 인증 오류입니다. consumer key와 consumer secret key, access token과 access token secret을 잘 확인하도록 합시다. 저의 경우에는 consumer secret key가 잘못 입력되어 있었습니다. Authorization과 관련이 있는 오류로, 저는 twurl을 이용해 링크를 생성하고, 리눅스 서버상에 .twurlrc라는 파일을 생성하여 각 트위터 계정마다 연결된 application의 정보를 확인할 수 있게 해두었습니다. 그 과정에서 consumer secret key를 잘못 복사하여 오류가 발생했습니다.
오류 해결/Twitter API
BadRequest: 400 Bad Request 44 - since_id parameter is invalid.
예전에는 since_id를 -1로 설정해도 가능했는데, 어느 날 부터 갑자기 안 됐던 걸로 기억합니다. 0이나 1로 설정해주자 문제가 해결되었습니다. since_id는 Twitter API의 함수에서 사용되는 매개변수인데, 알림이나 타임라인에서 트윗을 읽어올 때 "어느 트윗부터 읽을 것인가?"의 기준이 되어주는 변수입니다. 트윗에는 각 트윗마다 고유의 id가 붙어있는데, 나중에 작성된 트윗일 수록 id 값이 큽니다. 즉, since_id = 1000 이면 id 값이 1000 이상인 (id=1000인 트윗보다 이후에 작성된) 트윗들을 읽어온다는 의미가 됩니다.