Unityで楽天ウェブサービスのAPIを実行する方法を自分のための備忘録として簡単にまとめます。
Unityを使用したアプリ開発で楽天ウェブサービスを導入しようと思っている人は参考にしてみてください。
開発環境
- Windows11
- Unity 2021.3.7f1
使用するAPI
今回は楽天商品検索APIを例に実装します。
APIの仕様については公式のRakuten Developersを参照してください。
The list of APIs opened for developers.
コード
private IEnumerator RakutenApiSearch()
{
// *********************************************
// 楽天APIで商品を検索
// *********************************************
string applicationId = "XXXXXXXXXXXXXXXXXXXX";
string keyword = "検索したいワード";
string url = "https://app.rakuten.co.jp/services/api/IchibaItem/Search/20170706?format=json&applicationId=" + applicationId + "&keyword=" + keyword;
url += "&elements=itemName,itemPrice,itemUrl"; // 商品名、商品価格、URLを取得
UnityWebRequest request = UnityWebRequest.Get(url);
request.SetRequestHeader("Content-Type", "application/json");
yield return request.SendWebRequest();
switch (request.result)
{
case UnityWebRequest.Result.InProgress:
Debug.Log("Wait...");
break;
case UnityWebRequest.Result.Success:
// JSON文字列が返されるので、JsonUtility等を利用して解析
Debug.Log(request.downloadHandler.text);
break;
case UnityWebRequest.Result.ConnectionError:
case UnityWebRequest.Result.ProtocolError:
case UnityWebRequest.Result.DataProcessingError:
Debug.Log(request.error);
break;
default:
throw new ArgumentOutOfRangeException();
}
}
ざっくり説明
UnityWebRequestを使って普通にURLを叩くだけですね。
一応Resultの判定にInProgressも含めてますが、おそらくそこを通ることはない気がします。
最後に
なんか久々にプログラムを書いた気がする(´ー`)