1

デモへのリンクは次のとおりです:http://davidwalsh.name/xbox-api

次の内容のphpファイルを作成しました。

<?php
// Settings
$gamertag = 'RyanFabbro';
$profileUrl = 'http://www.xboxleaders.com/api/profile/'.$gamertag.'.json';

// Get information about me
$info = file_get_contents($profileUrl);

// To JSON
$json = json_decode($info);
$user = $json->user;
?>    

ファイルをロードしたときの外観は次のとおりです(ゲーマータグデータを除く)

{
  "status": {
    "is_valid": "yes",
    "is_cheater": "no",
    "tier": "gold"
  },
  "profile": {
    "gamertag": "dwalsh83",
    "gamerscore": 300,
    "reputation": 20,
    "gender": "male",
    "motto": "Watch your head.",
    "name": "David Walsh",
    "location": "Madison, WI, US",
    "bio": "There is, and only can be, Call of Duty.",
    "url": "http:\/\/live.xbox.com\/en-US\/Profile?gamertag=dwalsh83",
    "avatar_tile": "http:\/\/image.xboxlive.com\/global\/t.fffe07d1\/tile\/0\/2000b",
    "avatar_small": "http:\/\/avatar.xboxlive.com\/avatar\/dwalsh83\/avatarpic-s.png",
    "avatar_large": "http:\/\/avatar.xboxlive.com\/avatar\/dwalsh83\/avatarpic-l.png",
    "avatar_body": "http:\/\/avatar.xboxlive.com\/avatar\/dwalsh83\/avatar-body.png",
    "launch_team_xbl": "no",
    "launch_team_nxe": "no",
    "launch_team_kin": "no"
  }
}

しかし、それは何も表示していません、私は何が間違っているのですか?

http://www.xboxleaders.com/api/profile/ryanfabbro.jsonにアクセスすると、正常に表示されます。

ウオダテ*

私はこれをphpファイルでやってみました

<?php
// Settings
$gamertag = 'RyanFabbro';
$profileUrl = 'http://www.xboxleaders.com/api/profile/'.$gamertag.'.json';

// Get information about me
$info = file_get_contents($profileUrl);

// To JSON
$json = json_decode($info);
$user = $json->user;
$user = $json->profile;
$user = $json->data;
$profile = $json->data;
?>

<img src="<?php echo $profile->avatar_body; ?>" alt="<?php echo $profile->gamertag; ?>" class="avatar" />

その結果、ページはまだ空白になっているので、ソースを表示すると、返されるのは

<img src="" alt="" class="avatar" />

アップデート2@ae14&2g

私も試しました(すべて1つのphpファイルで)

<?php
// Settings
$gamertag = 'RyanFabbro';
$profileUrl = 'http://www.xboxleaders.com/api/profile/'.$gamertag.'.json';

// Get information about me
$info = file_get_contents($profileUrl);

// To JSON
$json = json_decode($info);
$user = $json->data;
?>

<?php echo $user->name ?>

それでも空白のページが表示されましたが、それはあなたが私がすべきことを意味していたことですか?私もこれと同じ方法を試しましたが、2gの提案は役に立ちませんでした

4

2 に答える 2

3

使用する必要があるようです

$user = $json->Data

ユーザー情報を取得するには

于 2012-10-30T15:25:15.610 に答える
1

これは私のPHPファイルです:

<?php
// Settings

$gamertag = urlencode('yourgamertagwithspaceetcetc..');

$profileUrl = 'http://www.xboxleaders.com/api/profile/'.$gamertag;

// Get information about me
$info = file_get_contents($profileUrl);

echo $info;

// To JSON
$json = json_decode($info);
$user = $json->Data;

echo $user->Gamertag;

?>

ゲーマータグの内部にスペースがあったため、urlEncodeを使用する必要があります。phpファイルを開始する前に、ブラウザで最終的なURLをテストすることをお勧めします。

Nameのプロパティは常に空白であるため、テストには$user->Gamertagを使用します。理由はわかりません。

これはサービスから返されたJSONデータです

 "Data": {
    "Tier": "gold",
    "IsValid": 1,
    "IsCheater": 0,
    "IsOnline": 0,
    "OnlineStatus": "Last seen 11\/10\/2012 playing Modern Warfare&#174; 3",
    "XBLLaunchTeam": 0,
    "NXELaunchTeam": 0,
    "KinectLaunchTeam": 0,
    "AvatarTile": "https:\/\/avatar-ssl.xboxlive.com\/avatar\/xxxxxxxx\/avatarpic-l.png",
    "AvatarSmall": "http:\/\/avatar.xboxlive.com\/avatar\/xxxxxx\/avatarpic-s.png",
    "AvatarLarge": "http:\/\/avatar.xboxlive.com\/avatar\/xxxxxx\/avatarpic-l.png",
    "AvatarBody": "http:\/\/avatar.xboxlive.com\/avatar\/xxxxxxx\/avatar-body.png",
    "Gamertag": "xxxxxxxxxxxxxxxxx",
    "GamerScore": 4165,
    "Reputation": 20,
    "Name": "",
    "Motto": "",
    "Location": "",
    "Bio": ""
  },
  "Stat": "ok",
  "In": 2.273,
  "Authed": "false",
  "AuthedAs": null

ゲーマータグと同じ方法を使用してアクセスできます...単純な呼び出し

$user->AvatarSmall

私は自分のマシンにphpをインストールしていなかったので、最初にWindows用のPHP 5.4.8をダウンロードし、このリリースの組み込みWebサーバーを使用しました。詳細はこちら。

希望はあなたを助けることができます

于 2012-10-31T16:02:48.603 に答える