開発環境
PHP 7.3.14
Laravel 7.0.8
困っている事
twitterOAuthを使用してtwitterのフォロワー情報を取得しているのですが、取得されるデータの数が実際のフォロワー数より少なくなります。
何度か取得情報を検証した所、APIのカーソルを移動した回数分データが取得できていないことが分かったのですが、取得するには何を変更したらいいでしょうか。
問題の箇所
PHP
1 public function followerList(Request $request) 2 { 3 $connection = new TwitterOAuth( 4 config('twitter.consumer_key'), 5 config('twitter.consumer_secret'), 6 config('twitter.access_token'), 7 config('access_token_secret') 8 ); 9 10 // オプションを定義 11 $params = [ 12 'cursor' => '-1', 13 'count' => '200', 14 'skip_status' => 'false', 15 'screen_name' => $request->input('name') 16 ]; 17 18 try { 19 // doで実行、whileで次のカーソルへループ 20 do { 21 $followers = $connection->get('followers/list', $params); 22 23 if (!isset($followers->users)) { 24 echo 'TwitterAPIの制限がかかっちゃってる!ごめんなさい!' . PHP_EOL; 25 break; 26 } 27 28 $follower_list = array_merge($follower_list, $followers->users) 29 } while ($params['cursor'] = $followers->next_cursor_str); 30 } catch (TwitterOAuthException $e) { 31 echo ($e); 32 }; 33 34 return view('follower/list')->with('followers', $follower_list); 35 }
回答2件
あなたの回答
tips
プレビュー