現在、PHP で Twitch 通知 Web アプリを作成しています。
現時点では、認証は正常に機能します。
クライアントはアプリを使用したい -> 要求されたスコープを受け入れるために Twitch Web サイトにリダイレクトされる -> 「コード」パラメーターを使用してアプリの Web サイトにリダイレクトされる -> curl リクエストによって送信される「コード」 -> accessToken を含む応答。
accessToken とクライアントのユーザー名を $_COOKIE と $_SESSION 変数に保存しました ($_COOKIE の設定は、すべての Web ブラウザーで機能するとは限りません)。
その後、ユーザーに新しいフォロワーがいるかどうかを (リアルタイムで?) チェックする必要があります。TNotifier などの特定の Web アプリケーションが存在し、これを非常にうまく実行します...しかし、方法がわかりません。
Twitch API では、フォロー リクエストに対してのみ、これらのフォロワーをすべて一覧表示する可能性があります。私は何度も何度も(1秒の遅延で)リクエストを作成し、新しいリクエストを最後のリクエストと比較する必要があると直接考えました...しかし、それを行う別の方法があると思いますか?
次のリクエストは次のとおりです。
curl -H 'Accept: application/vnd.twitchtv.v2+json' \
-X GET https://api.twitch.tv/kraken/channels/test_user1/follows
そして JSON 応答:
{
"_links": {
"next": "https://api.twitch.tv/kraken/channels/test_user1/follows?limit=25&offset=25",
"self": "https://api.twitch.tv/kraken/channels/test_user1/follows?limit=25&offset=0"
},
"follows": [
{
"_links": {
"self": "https://api.twitch.tv/kraken/users/test_user2/follows/channels/test_user1"
},
"user": {
"_links": {
"self": "https://api.twitch.tv/kraken/users/test_user2"
},
"staff": false,
"logo": null,
"display_name": "test_user2",
"created_at": "2013-02-06T21:21:57Z",
"updated_at": "2013-02-13T20:59:42Z",
"_id": 40091581,
"name": "test_user2"
}
},
...
]
}
ここに私のコードがありますが、まだより良い方法が存在すると考えています...
$uknown=""; //to initialize my loop function.
comparaison($uknown);
function comparaison($u){
$options = array(
'http' => array(
'header' => 'Accept: application/vnd.twitchtv.v2+json',
'method' => 'GET',
)
);
$context = stream_context_create($options);
$result = file_get_contents('https://api.twitch.tv/kraken/channels/test_user1/follows', false, $context);
$decode_result = json_decode($result, true);
$follow=$decode_result['follows'][0];
$user=$follow['user'];
$last_follower=$user['display_name'];
if($last_follower != $u){
haveANewFollower($last_follower);
}
comparaison($last_follower);
}
TNotifier を別の方法で使用して新しいフォロワーをチェックすることは可能ですか?