72211


## 環境

OS: Ubuntu 18.04.5 LTS (MacOS catalina上のvirtual-box/vagrantで仮想構築)  
Python: ver3.8.6  
※ **ローカルのMacOS上でも同様のエラーが発生** している

## 事象

TwitterのAPIキー(カスタマーキー、カスタマーシークレット、アクセストークン、アクセストークンシークレットのそれぞれ)を入手し、  
自分のTwitterアカウントのアイコンとバックグラウンドイメージ(バナー/アイコンの上の画像)を変更しようと考えました。

アイコンの変更に関しては下記のコードで問題なく行うことが出来ました。

[code]

    import os
    import tweepy
    
    CK = os.environ['CUS_KEY']
    CS = os.environ['CUS_KEY_SECRET']
    AT = os.environ['ACS_TOKEN']
    AS = os.environ['ACS_TOKEN_SECRET']
    
    def create_api():
        auth = tweepy.OAuthHandler(CK, CS)
        auth.set_access_token(AT, AS)
        api = tweepy.API(auth)
        return api
    
    if __name__ == "__main__":
        api = create_api()
        # the file path 
        filename = "Monet_La_Gourneuiere.jpg"
        api.update_profile_image(filename)
    
[/code]

しかし **バックグラウンドイメージの変更は下記コードでは上手くいきませんでした。**

[code]

    import os
    import tweepy
    
    CK = os.environ['CUS_KEY']
    CS = os.environ['CUS_KEY_SECRET']
    AT = os.environ['ACS_TOKEN']
    AS = os.environ['ACS_TOKEN_SECRET']
    
    def create_api():
        auth = tweepy.OAuthHandler(CK, CS)
        auth.set_access_token(AT, AS)
        api = tweepy.API(auth)
        return api
    
    if __name__ == "__main__":
        api = create_api()
        # the file path 
        filename = "Monet_La_Gourneuiere.jpg"
        # updating the background picture 
        api.update_profile_background_image(filename)
    
[/code]

エラーは下記の通りで、ページが見つからない旨記されていました。

[code]

    Traceback (most recent call last):
      File "main.py", line 22, in <module>
        api.update_profile_background_image(hoge)
      File "/home/vagrant/.local/lib/python3.8/site-packages/tweepy/api.py", line 708, in update_profile_background_image
        return bind_api(
      File "/home/vagrant/.local/lib/python3.8/site-packages/tweepy/binder.py", line 252, in _call
        return method.execute()
      File "/home/vagrant/.local/lib/python3.8/site-packages/tweepy/binder.py", line 234, in execute
        raise TweepError(error_msg, resp, api_code=api_error_code)
    tweepy.error.TweepError: [{'message': 'Sorry, that page does not exist', 'code': 34}]
    
[/code]

上記エラーの解決方法がどうしてもわからず、アドバイス/回答等いただけると幸いです。  
以上、よろしくお願いします。

## *補足1

アイコンの変更だけでなく、tweet[update_status("")]やプロフィール変更[update_profile()]は問題なく  
使用出来ます。

## ※補足2:Ubuntu上での環境構築は下記の通り

[code]

    $ sudo apt install git gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
    $ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
    $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
    $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
    $ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
    $ source ~/.bashrc
    $ pyenv install 3.8.6
    $ pip install tweepy
    
[/code]


CC BY-SA 4.0
2020-11-25T18:38:09.020
72210
2020-12-01T15:30:39.683
40683
question
python python3 api twitter
Tweepyのapi.update_profile_background_imageのみエラーになる


自己解決。(Twitterで別の方に教えていただけました。)

[code]

    api.update_profile_banner(hoge)
    
[/code]

を使用すれば問題なくバックグラウンドイメージを修正出来る。

参考：[POST account/update_profile_banner Twitter
Developer公式](https://developer.twitter.com/en/docs/twitter-api/v1/accounts-
and-users/manage-account-settings/api-reference/post-account-
update_profile_banner)


CC BY-SA 4.0
2020-11-25T19:08:01.997
72211
2020-12-01T15:30:39.683
2020-12-01T15:30:39.683
40683
40683
72210
answer