0

現在、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 を別の方法で使用して新しいフォロワーをチェックすることは可能ですか?

4

1 に答える 1

0

フォロワーをプッシュする方法がないため、プルに頼る必要があるため、これが唯一の方法です。サブスクライバーの場合、新しいサブスクライバーのチャット メッセージをリッスンする可能性がありますが、これはフォロワーには機能しないため、kraken API を使用したプル メソッドにのみ依存できます。

于 2015-04-04T20:54:22.593 に答える