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も含めてますが、おそらくそこを通ることはない気がします。
最後に
なんか久々にプログラムを書いた気がする(´ー`)