どうもイトサル(@itosaru)です。

Twitter APIの1.1のDM送信などのメソッドを使いたいです。
しかしエラーが出て使うことができません。
Twitter APIはv2であれば開発者サイトで申請するだけで使用できますが、v1.1に関してもどうように申請等をする必要があります。
この記事ではTwitter API1.1が使えない原因の3つについて説明していきます。
原因1 Elevatedのアクセス権限がない
Twitter API1.1のメソッドを使う場合はElevatedのアクセス権限が必要です。
Elevatedのアクセス権限は開発者サイトで申請が必要になります。
なお、申請は英語のちょっとした作文が必要です。
詳細はこちらの記事をご覧ください。

原因2 アプリのパーミッションの設定が正しくない
パーミッションはアクセス権限のほかにTwitter API上のアプリに関しても設定されています。
パーミッションで許可されていないメソッドについては当然使用することができません。
下記の手順でパーミッションが正しく設定されているか確認しましょう。
1.TwitterのDeveloper Portalページを開きます。
2.左サイドメニューの[Projects & Apps]からパーミッションを変更するアプリをクリックします。

3.画面を下にスクロールし、「User authentication settings」の[Edit]をクリックします。

4.一番上に「App permissions」の設定項目があるので目的のパーミッションを設定すれば完了です。

原因3 アクセストークンの再生成をしていない
Elevatedのアクセス権限は持っているけどエラーになってしまう。
その場合はアクセストークンを再生成しましょう。
理由はアクセストークンは作成した段階のアクセスレベルで決定するからです。
アクセストークンの再生成の手順はこちらです。
1.TwitterのDeveloper Portalページを開きます。
2.左サイドメニューの[Projects & Apps]からアクセストークンを再生成するアプリをクリックします。

3.画面上部の[Keys & Tokens]をクリックします。

4.「Access Token and Secret」の項目の[Regenerate]をクリックします。

Access Tokenのパーミッションが変われば再生成は完了です。


まとめ
この記事ではTwitter API v1.1のメソッドが使えない場合の理由について説明しました。
改めて原因についてはこちらです。
コメント