質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

0回答

1782閲覧

node.jsでTwitterAPIを使用し、ツイートしたい

Ryo_sys

総合スコア0

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2020/08/04 08:39

編集2020/08/04 08:42

環境

Windows10
node.js v12.18.3
npm v6.14.6

使用パッケージ
Twitter for Node.js
https://www.npmjs.com/package/twitter

前提・実現したいこと

node.jsでTwitterAPIのアプリケーションを作るために
statuses/updateメソッドを使用し、ツイートを行おうとしていますが以下のエラーメッセージが出ます。
様々な方法を立てましたが、手詰まり状態なのでご教示ください。

発生している問題・エラーメッセージ

(node:35524) UnhandledPromiseRejectionWarning: Error: HTTP Error: 401 Authorization Required at Request._callback (ディレクトリ省略\TwitterAPI\node_modules\twitter\lib\twitter.js:177:25) at Request.self.callback (ディレクトリ省略\TwitterAPI\node_modules\request\request.js:185:22) at Request.emit (events.js:315:20) at Request.<anonymous> (ディレクトリ省略\TwitterAPI\node_modules\request\request.js:1154:10) at Request.emit (events.js:315:20) at IncomingMessage.<anonymous> (ディレクトリ省略\TwitterAPI\node_modules\request\request.js:1076:12) at Object.onceWrapper (events.js:421:28) at IncomingMessage.emit (events.js:327:22) at endReadableNT (_stream_readable.js:1220:12) at processTicksAndRejections (internal/process/task_queues.js:84:21) (node:35524) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:35524) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

該当のソースコード

var Twitter = require('twitter'); var client = new Twitter({ consumer_key: '省略', consumer_secret: '省略', access_token_key: '省略', access_token_secret: '省略' }); client.post('statuses/update', {status: 'I Love Twitter'}) .then(function (tweet) { console.log(tweet); }) .catch(function (error) { throw error; })

試したこと

※1~4全て試しても上記のエラーが出ます。

401エラー=認証エラーと仮定して...

1,認証キーはあっているか?
→環境変数を使用せずにベタ貼りをしたが×

2,アプリの設定画面のCallbackURLは入力されているか?
→ダミーURLを入れているが×
Callback URLs
http://localhost:3000/

WEBSITE URL
https://developer.twitter.com/en/portal

3,コンピュータの時刻が狂っていないか?
→PCの時刻同期設定を行ったが×

4,プロジェクトを削除し、新しいプロジェクトを作成
→×

##補足

favorites/listメソッドを試しましたが取得できました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問