2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

TRACKER NETWORKのApex Legends Apiを触ってみた

Posted at

#はじめに
TRACKER NETWORKは自分のfpsゲームのstatsを見るのに使っていましたが、APIがあるなんて初めて知りました。

#TRACKER NETWORKのAPI Key取得方法
####1,TRACKER NETWORKにログイン後、下記で適当なアプリを作る

https://tracker.gg/developers/docs/getting-started

####2,作成すると、API Keyが出てきます
tracke.png

#API Keyをheaderに埋め込む

//ヘッダーフィールドの配列
$header = array(
"TRN-Api-Key:入手したAPI Key"
);

//headerの設定
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

#コード
今までfile_get_contentsを使っていたがcurlのほうがheaderがつけやすそうなのでcurlに変えました。
どうやらcurlは、読み込み速度が早くてパフォーマンスが良いらしい

参考にしたサイト

https://www.marineroad.com/staff-blog/18954.html

<?php
    //ヘッダー
    $header = array(
        "TRN-Api-Key:入手したAPI Key"
    );

    if(isset($_POST["userid"])){
        //userid取得
        $userid = rawurlencode($_POST['userid']);
        //platform取得
        $platform = $_POST['platform'];
        //url
        $url = "https://public-api.tracker.gg/v2/apex/standard/profile/${platform}/${userid}";

        //user情報取得
        $ch = curl_init();

        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

        $response = curl_exec($ch);
        $profile = json_decode($response, true);

        curl_close($conn);
    }
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>apexstats検索</title>
    </head>
    <body>
        <form action="" method="POST">
            <p>useridを入力してください</p>
            <input type="text" name="userid" placeholder="例:RuRey 0w0">
            <select name="platform">
                <option value=""></option>
                <option value="origin">PC</option>
                <option value="xbl">xbox</option>
                <option value="psn">PS4</option>
            </select>
            <input type="submit" value="送信">
        </form>
        <div>
            <?php
                //出力
                echo "name:";
                echo $profile["data"]["platformInfo"]["platformUserId"];
                echo "<br>";
                echo "platform:";
                echo $profile["data"]["platformInfo"]["platformSlug"];
                echo "<br>";
                echo "country:";
                echo  $profile["data"]["userInfo"]["countryCode"];
                echo "<br>";
                echo "level:";
                echo  $profile["data"]["segments"][0]["stats"]["level"]["displayValue"];
                echo "<br>";
                echo "rank:";
                echo  $profile["data"]["segments"][0]["stats"]["rankScore"]["value"];
                echo "<br>";
            ?>
        </div>
    </body>
</html>

#結果
apex.png

ape3.png

#最後に
出力する部分で最初はforeachにしていましたが、見にくすぎてやめました。
結局echo連打も見にくいので、ほかのいい方法を探そうと思います。

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?