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

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

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

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

API

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

Q&A

解決済

2回答

603閲覧

twitter apiのダイレクトメッセージが、どうしても送信できない。Help!!

OzakiNobuhiko

総合スコア7

Twitter

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

API

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

0グッド

0クリップ

投稿2019/06/24 18:17

twitter api を使って、ダイレクトメッセージを送るphpのプロクラムを作っているのですが、「Sorry, that page does not exist」となって送信できません。

下記がプログラムです。

<?php //twitteroauthは最新のものをダウンロードしています include(TEMPLATEPATH .'/withnet/add_kanrigamen/test_2/twitteroauth/autoload.php'); use Abraham\TwitterOAuth\TwitterOAuth; //https://developer.twitter.com/en/appsでの登録でAccess permissionはRead, write, and Direct Messagesにしました。 $consumerKey = "xxxx"; $consumerSecret = "yyyy"; $accessToken = "zzzz"; $accessTokenSecret = "aaaa"; $connection = new TwitterOAuth($consumerKey,$consumerSecret,$accessToken,$accessTokenSecret); $connection->post('direct_messages/events/new.json', [ 'event' => [ 'type' => 'message_create', 'message_create' => [ 'target' => [ 'recipient_id' => 12**34**56 ], 'message_data' => [ 'text' => 'test' ] ] ] ], true); print_r($connection->getLastBody()); recipient_id' => 12**34**56は実際に存在するものですので、apiにキチンと届いていないので冒頭のようなエラーになっているのではと考えています。どのように訂正すればいいのでしょうか? よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

自己解決

詳しい人と出会いご相談申し上げたところ、(このプログラムはwordpress上で動かしているので)、wordpress側に、問題があることが判明いたしました。お時間を割いていただいて、感謝いたします。ありがとうございました。

投稿2019/06/28 09:11

OzakiNobuhiko

総合スコア7

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

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

0

TwitterOAuth を使われているようですが、

Sorry, that page does not exist

は、プログラムのどの部分で発生しているのでしょうか?

質問のコードで、

$connection->post('direct_messages/events/new.json', [

とありますが、TwitterOAuth のサンプルでは、

$result = $connection->post('direct_messages/events/new', $data, true); // Note the true

の様に公式ドキュメントでは、 direct_messages/events/new に送信しているようですが、direct_messages/events/new.json にしたのは、何を参照されたのでしょうか?

投稿2019/06/24 21:21

編集2019/06/24 21:22
CHERRY

総合スコア25171

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

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

OzakiNobuhiko

2019/06/25 00:14

早速のご回答、たいへんありがとうございます。暗闇の中で一筋の光明を見ているようです。お問い合わせの件ですが、最初 direct_messages/events/new にしていたのですが、動かなかったので、direct_messages/events/new.json に変更したら、質問のエラーメッセージがでたので、とにかくapiが反応している と判断した次第です。apiが反応しているが、何かが違うので「その先に進めない」、逆に言うと「何かを訂正すれば」正しい反応があるのではという理解からです。 どうぞ、よろしくお願いいたします。
CHERRY

2019/06/25 01:26

> Sorry, that page does not exist エラーメッセージから判断すると 「ページが存在しない」といっているので、 URL (エンドポイント)が間違っていると思われます。
OzakiNobuhiko

2019/06/28 09:11

ご回答ありがとうございます。その後、詳しい人と出会いご相談申し上げたところ、(このプログラムはwordpress上で動かしているので)、wordpress側に、問題があることが判明いたしました。お時間を割いていただいて、感謝いたします。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問