演習課題「PHPを使って、JSONデータから値を出力する」
以下のWebAPIにアクセスすると、「ぱいじょ」のJSONデータを取得できます。
```
https://paiza.jp/paijo_charactors
```
右のコードエリアには、PHPを使って、このWebAPIからJSONデータを読み込んでオブジェクトに変換するプログラムがあります。このプログラムを修正して、オブジェクトに変換したJSONデータから、以下のフォーマットで値を出力してください。
```
nameの値 : likesの値
```
「:」の前後には、半角スペースを空けます。
コードの実行をして、エラーが出なければ、演習課題クリアです!
演習課題「PHPを使って、「いいね!」を投票する」
以下のWebAPIにPOSTメソッドでアクセスすると、「ぱいじょ」の指定したキャラクタに「いいね!」を投票できます。
```
https://paiza.jp/paijo_charactors/like
```
右のコードエリアにあるプログラムを修正して、名前に「kirishima」を指定し、「いいね!」を投票するプログラムを作成してください。
コードの実行をして、エラーが出なければ、演習課題クリアです!
#10:Web APIでデータを書き込もう - PHP編
Web APIを呼び出して、Webサービスにデータを書き込むプログラムをPHPで作ってみましょう。今回は、「paijoいいねAPI」を呼び出して、いいねを投票するプログラムを作成します。
get_postJSON.php
<?php
$uri = 'https://paiza.jp/paijo_charactors';
$response = file_get_contents($uri);
// echo $response;
$jsonObject = json_decode($response, true);
// print_r($jsonObject);
foreach($jsonObject as $item) {
echo implode(',', $item) . PHP_EOL;
}
get_postJSON.php
<?php
$uri = 'https://paiza.jp/paijo_charactors';
$response = file_get_contents($uri);
// echo $response;
$jsonObject = json_decode($response, true);
// print_r($jsonObject);
foreach($jsonObject as $item) {
// echo implode(',', $item) . PHP_EOL;
echo $item['name'] . ':' . $item['likes'] . PHP_EOL;
}
get_postJSON.php
<?php
$uri = 'https://paiza.jp/paijo_charactors';
$postUri = $uri . '/like';
$jsonObject = http_build_query(['name' => 'rokumura']);
$context = stream_context_create (
[
'http' =>
[
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => $jsonObject
]
]
);
$result = file_get_contents ($postUri, false, $context);
print_r($result);
PHP: json_decode - Manual
https://www.php.net/manual/ja/function.json-decode.php
PHP: file_get_contents - Manual
https://www.php.net/manual/ja/function.file-get-contents.php