質問するログイン新規登録

質問編集履歴

3

最終変更

2016/03/29 16:12

投稿

naoki855
naoki855

スコア75

title CHANGED
File without changes
body CHANGED
@@ -71,4 +71,34 @@
71
71
  今度は`Invalid or expired token.`とエラーが出力されてしまいます。
72
72
  デベロッパーサイトが発行したアクセストークンはいきているようです。
73
73
  この場合、クッキーかなにかでトークンが置き換わってしまったのでしょうか?
74
- (見当違いでしたら申し訳ありません。)
74
+ (見当違いでしたら申し訳ありません。)
75
+
76
+ ★2016-03-30 01:09 追記
77
+ いただいたご意見、および他のサイトも参考に、以下のようにコードを修正しました。
78
+ ```php
79
+ <?php
80
+ require 'TwistOAuth.php';
81
+ require 'TwistException.php';
82
+
83
+ define('CONSUMER_KEY', 'CY');
84
+ define('CONSUMER_SECRET', 'CS');
85
+ define('ACCESS_TOKEN', 'AT');
86
+ define('ACCESS_TOKEN_SECRET', 'AS');
87
+
88
+ $header = 'Content-Type: text/plain; charset=utf-8';
89
+
90
+ try {
91
+ $connection = new TwistOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
92
+ $res = $connection->post('statuses/update', [
93
+ 'status' => 'こんにちは'
94
+ ]);
95
+ header($header, true, 200);
96
+ echo "ツイートしました";
97
+ } catch (Exception $e) {
98
+ header($header, true, $e->getCode() ?: 500);
99
+ echo "ツイート失敗: {$e->getMessage()}\n";
100
+ }
101
+ ```
102
+
103
+ 申し訳ありません、ベストアンサーは迷いました。
104
+ ご納得いただけないかもしれませんが、何卒ご容赦ください。

2

修正

2016/03/29 16:12

投稿

naoki855
naoki855

スコア75

title CHANGED
File without changes
body CHANGED
@@ -39,4 +39,36 @@
39
39
  thrown in phar:///Applications/MAMP/htdocs/twitter_bot/TwistOAuth.phar/TwistOAuth.php on line 831
40
40
  ```
41
41
 
42
- エラー文を見ましたが、pharが悪い?くらいしか分からないので、取り急ぎ各PHPをrequireしてみます。
42
+ エラー文を見ましたが、pharが悪い?くらいしか分からないので、取り急ぎ各PHPをrequireしてみます。
43
+
44
+ ★2016-03-30 00:20 追記
45
+ いただいたご意見、および他のサイトも参考に、以下のようにコードを修正しました。
46
+ ```php
47
+ <?php
48
+ require 'TwistOAuth.php';
49
+ require 'TwistException.php';
50
+
51
+ define('CONSUMER_KEY', 'CY');
52
+ define('CONSUMER_SECRET', 'CS');
53
+ define('ACCESS_TOKEN', 'AT');
54
+ define('ACCESS_TOKEN_SECRET', 'AS');
55
+
56
+ $header = 'Content-Type: text/plain; charset=utf-8';
57
+
58
+ try {
59
+ $connection = new TwistOAuth('CONSUMER_KEY', 'CONSUMER_SECRET', 'ACCESS_TOKEN', 'ACCESS_TOKEN_SECRET');
60
+ $res = $connection->post('statuses/update', [
61
+ 'status' => 'こんにちは'
62
+ ]);
63
+ header($header, true, 200);
64
+ echo "ツイートしました";
65
+ } catch (Exception $e) {
66
+ header($header, true, $e->getCode() ?: 500);
67
+ echo "ツイート失敗: {$e->getMessage()}\n";
68
+ }
69
+ ```
70
+
71
+ 今度は`Invalid or expired token.`とエラーが出力されてしまいます。
72
+ デベロッパーサイトが発行したアクセストークンはいきているようです。
73
+ この場合、クッキーかなにかでトークンが置き換わってしまったのでしょうか?
74
+ (見当違いでしたら申し訳ありません。)

1

エラーログを追加

2016/03/29 15:28

投稿

naoki855
naoki855

スコア75

title CHANGED
File without changes
body CHANGED
@@ -25,4 +25,18 @@
25
25
  $header = 'Content-Type: text/plain; charset=utf-8';
26
26
 
27
27
  $to = new TwistOAuth('CONSUMER_KEY', 'CONSUMER_SECRET', 'ACCESS_TOKEN', 'ACCESS_TOKEN_SECRET');
28
- ```
28
+ ```
29
+
30
+ ★2016-03-29 23:08 追記
31
+ MAMPの`php_error.log`を確認しました。
32
+
33
+ ```sh
34
+ [29-Mar-2016 23:07:09 Asia/Tokyo] PHP Fatal error: Uncaught exception 'TwistException' with message 'Invalid or expired token.' in phar:///Applications/MAMP/htdocs/twitter_bot/TwistOAuth.phar/TwistOAuth.php:831
35
+ Stack trace:
36
+ #0 phar:///Applications/MAMP/htdocs/twitter_bot/TwistOAuth.phar/TwistOAuth.php(352): TwistOAuth::decode(Resource id #5, '{"errors":[{"co...')
37
+ #1 /Applications/MAMP/htdocs/twitter_bot/bot.php(12): TwistOAuth->get('statuses/user_t...', 10)
38
+ #2 {main}
39
+ thrown in phar:///Applications/MAMP/htdocs/twitter_bot/TwistOAuth.phar/TwistOAuth.php on line 831
40
+ ```
41
+
42
+ エラー文を見ましたが、pharが悪い?くらいしか分からないので、取り急ぎ各PHPをrequireしてみます。