質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

0回答

1122閲覧

WebAPIを使うために必要なこと

rintyanx

総合スコア2

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

2クリップ

投稿2020/08/17 13:57

独学でjavaを使ってWebアプリケーションについて学習しています。
ローカル環境で掲示板のようなアプリを作れたので、次はWebAPI(現時点では楽天APIを使用しようと考えています)を使ったWebアプリケーションを作ろうと思っているのですが、
いくつか疑問点があります。

①WebAPIを使用する場合、自分アプリのURLは必須ですか?(楽天APIのアプリIDを発行しようとしたときにアプリのURLが要求されました。)

②いらない場合、どのようにやればできるでしょうか?
下記リンクを参考に楽天APIのテストフォームのリクエストされるURLを入れたところ、HTTPステータス:400が返ってきており
パラメーターエラーになっています。
https://itsakura.com/java-httpurlconnection

URLしか変えていませんがコード貼り付けておきます。

java

1 2import java.io.BufferedReader; 3import java.io.IOException; 4import java.io.InputStream; 5import java.io.InputStreamReader; 6import java.net.HttpURLConnection; 7import java.net.URL; 8 9 /** 10 * HttpURLConnectionのサンプル 11 */ 12 class Sample { 13 14 void runSample() { 15 16 String strUrl = "https://app.rakuten.co.jp/services/api/Recipe/CategoryList/20170426?applicationId=[894d66b735ae78b0af7efefa9437e1b1]&categoryType=large"; 17// String strUrl = "http://httpbin.org/post"; 18 HttpURLConnection urlConn = null; 19 InputStream in = null; 20 BufferedReader reader = null; 21 22 try { 23 //接続するURLを指定する 24 URL url = new URL(strUrl); 25 26 //コネクションを取得する 27 urlConn = (HttpURLConnection) url.openConnection(); 28 29 urlConn.setRequestMethod("GET"); 30// urlConn.setRequestMethod("POST"); 31 32 urlConn.connect(); 33 34 int status = urlConn.getResponseCode(); 35 36 System.out.println("HTTPステータス:" + status); 37 38 if (status == HttpURLConnection.HTTP_OK) { 39 40 in = urlConn.getInputStream(); 41 42 reader = new BufferedReader(new InputStreamReader(in)); 43 44 StringBuilder output = new StringBuilder(); 45 String line; 46 47 while ((line = reader.readLine()) != null) { 48 output.append(line); 49 } 50 System.out.println(output.toString()); 51 } 52 } catch (IOException e) { 53 e.printStackTrace(); 54 } finally { 55 try { 56 if (reader != null) { 57 reader.close(); 58 } 59 if (urlConn != null) { 60 urlConn.disconnect(); 61 } 62 } catch (IOException e) { 63 e.printStackTrace(); 64 } 65 } 66 } 67 } 68 public class test { 69 public static void main(String[] args) { 70 Sample s = new Sample(); 71 s.runSample(); 72 } 73 } 74

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KoichiSugiyama

2020/08/17 21:46

この内容はこういうサイトで聞くより、楽天に問い合わせた方が良いのではないでしょうか。楽天ウェブサービスのヘルプでなにがしかの質問を選択すると、解決しない場合のメールフォームへの誘導リンクが表示されますので、そちらからメールを送ってみてはどうでしょう。
rintyanx

2020/08/17 23:53

2に関しては、楽天の方に聞くのが正しいそうですね、すいません。 ①は、楽天を使おうとしているので例に挙げただけなので、WebAPI全体の話と捉えてもらえれば助かります。
dameo

2020/08/19 12:37

①についてはサービス提供者が決めることなので、サービスごとに違うと思います。 主に誰がそのサービスを使っているのかを把握して、利用者ごとに適切な制限をかけられるようにする目的でやっていることなので、そのような制限が必要ないサービスほど緩いし、利用者の多いサービスほど従量を制限しないといけないので厳しくなってると思います。 ②についてもサービスごとにAPI定義は違うので、ちゃんとドキュメントを読んで理解してから使ってください。用語が分からなければ諦めてください。
rintyanx

2020/08/19 16:57

提供しているところによって違うということですね。。。 ②は、類似記事を見つけ自己解決できました、ご教授ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問