2014-11-25 6 views
0

그래서 Twython 라이브러리로 twitter에 업로드하기 위해 base64 인코딩 이미지를 (운없이) 시도했습니다. Iv'e는 내가 그것을 알고있는 방법으로 그것을했다. 그러나 그것은 일하는 것처럼 보이지 않는다.파이썬에서 twitter 용 그림을 base64로 인코딩하는 방법은 무엇입니까?

from twython import Twython 
import base64 

#keys 
APP_KEY = '*************' 
APP_SECRET = '**************' 
OAUTH_TOKEN = '**********************' 
OAUTH_TOKEN_SECRET = '*************************' 
#start twitter instance 
twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET) 

#encode image to bas64 
with open("image.jpeg", "rb") as imageF: 
    st = base64.b64encode(imageF.read()) 
    #print to make sure its being encoded 
    print st 

#update twitter banner 
twitter.update_profile_background_image(image=st) 

트위터의 문서는별로 도움이되지 않습니다. https://dev.twitter.com/rest/reference/post/account/update_profile_banner Twython 문서도 마찬가지입니다. https://twython.readthedocs.org/en/latest/api.html 어떻게 할 지 알려주세요. 아니면 더 좋은 방법이 있다면.

덕분에

답변

0

의 '배너'라고 생각, 그래서 내가 다시 와서 내가 발견 무슨 말을 생각했다. 내가하고있는 방식이 효과가있다. 나는 분명히 전에 잘못된 매개 변수로 동일한 호출을했고 twitter는 모든 API 호출을 호출로 간주했습니다. 그리고 그들은 당신이 매우 자주 배너 업데이트 콜을하는 것을 허용하지 않는 것 같습니다. 또한 그들은 이미지가 (1500px, 500px) 인 것으로 보이는 올바른 크기라고 생각합니다. 따라서 이미지를 인코딩하기 전에 크기를 조정해야합니다. 누군가가 더 간단한 방법을 알고 있다면 ... 나는 아직 제안을 위해 열려 있습니다.

고마워요!

0

나는 대신 '이미지'확인

twitter.update_profile_background_image(banner=st) 
+0

그것은 더 많은 감각을 줄 것입니다 ...하지만 여전히 일하고 싶지 않습니다. 나는 그것을 틀리게 인코딩해야한다고 생각한다. – TysonU

+0

업데이트 할 때 어떤 응답을 얻고 있습니까? – sajadkk

+0

그것의 반환하는 (Unprocessable Entity) 나는 트위터가 인코딩 유형을 거부한다고 생각합니다. 나는 확실하지 않다. – TysonU