前提
TwitterOAuthを使用して、ツイートを投稿しようとしているのですがうまくいきません。
書いたコードは公式ドキュメント(https://twitteroauth.com/)に記載の通りである認識なのですが、
うまくいかず、かれこれ1日悩んでいる状況です。
すみませんが原因のわかる方がいらっしゃいましたらご教示いただけると幸いです。
■ローカル環境
OS:Windows11
サーバーソフト:Apache
PHP:8.0.3
TwitterOAuth:4.0
TwitterOAuthはcomposerにてインストール(正常完了)
配置してあるパスに間違いはないようです。
発生している問題・エラーメッセージ
エラーメッセージ等は特に出ておらず、上記に記載の箇所で処理が終了してしまう状況です。
該当のソースコード
PHP
1require_once '../vendor/autoload.php'; 2use Abraham\TwitterOAuth\TwitterOAuth; 3 4//以下は伏字にしています。 5$apiKey = '*******'; 6$secretKey = '*******'; 7$accessToken = '*******'; 8$accessTokenSecret = '*******'; 9 10$connection = new TwitterOAuth($apiKey, $secretKey, $accessToken, $accessTokenSecret); 11$tweetStatus = $connection->post("statuses/update", ["status" => "hello world"]); 12//デバッグで確認したところ、↑ここの行で処理が落ちていました。 13 14・・・ 15
試したこと
- 以下のソースを追記して、そもそもAPIに接続ができているか確認。
PHP
1//接続確認用のコード 2if ($connection->getLastHttpCode() == 200) { 3 echo('接続成功'); 4} else { 5 echo($connection->getLastHttpCode()); 6}
→0が返ってきており、そもそもエラーコードが返ってきていないためリクエストが遅れていないのではないかと思われます。
- 以下のtry catchを追加して、エラーを捕捉できないか確認
→特にエラー内容は捕捉できず。
PHP
1//接続確認用のコード 2try { 3 $connection = new TwitterOAuth($apiKey, $secretKey, $accessToken, $accessTokenSecret); 4 $tweetStatus = $connection->post("statuses/update", ["status" => "hello world"]); 5}catch(Exception $e){ 6 echo ($e->message()); 7}
- keyやsecretに誤りがないか確認。
→誤りはなく、念のためregenerateして再度動かしてみましたが動きませんでした。
- Twitter Developersにて、Callback URI / Redirect URLが原因でない確認。
上記がlocalhostだと正常に動かない、という情報があったため、http://127.0.0.1:8080/ に設定して動かしてみましたが、
変わらず解決には至りませんでした。
- TwitterOAuthがPHP8系をサポートしているか確認
→公式ドキュメントにて、サポートされている旨の記載がありました。
あなたの回答
tips
プレビュー