1
00:00:00,330 --> 00:00:00,720
大丈夫。

2
00:00:00,720 --> 00:00:01,890
お帰りなさい。

3
00:00:01,890 --> 00:00:08,250
だから我々はAPの人たちがどのように働いているのか、彼らがどのように構造化されているのか、そしてどのようなもので応答しているのかについて話している。

4
00:00:08,640 --> 00:00:10,470
&nbsp;

5
00:00:10,470 --> 00:00:16,500
Jay

6
00:00:16,500 --> 00:00:20,010
SonicのM-Lから、実際にはAAPIで汚くなっていることから実際にアプリケーションに組み込んでいます。

7
00:00:20,010 --> 00:00:20,800
それをする前に

8
00:00:20,820 --> 00:00:26,040
h h t t pのリクエストをどのようにして行うことができるのかを素早く見直すつもりです。

9
00:00:26,040 --> 00:00:32,170
だから、あなたがたぶんあなたの人生をウェブ上で見てきた最も一般的な方法は、単にブラウザを使うことです。

10
00:00:32,640 --> 00:00:36,380
だから私はウィンドウを開いてGoogleドットコムに行くことができます。

11
00:00:36,720 --> 00:00:38,240
私は要求した。

12
00:00:38,580 --> 00:00:42,280
私は私がリクエストをするこのボタンをクリックして入力をヒット。

13
00:00:42,390 --> 00:00:44,510
私は犬を探します。

14
00:00:45,390 --> 00:00:50,700
それは私がウィキペディアへのその犬のリンクをクリックする要求です、そしてそれは要求です。

15
00:00:50,700 --> 00:00:50,960
OK。

16
00:00:50,970 --> 00:00:52,190
だからそれは一つの方法です。

17
00:00:52,530 --> 00:00:58,260
しかし、私はここで私たちが私の要求をするjavascriptを書く方法は私たちがここで学ぶつもりであるコードを介して要求を行うことができます。

18
00:00:58,260 --> 00:01:00,630
&nbsp;

19
00:01:00,630 --> 00:01:08,800
Yahoo Weather APIまたはReddit APIからJaisonをフェッチするjavascriptを作成するにはどうすればよいですか。

20
00:01:09,030 --> 00:01:14,790
それは私たちの全目標ですが、リクエストを介してAPIから情報を取得し、それをデータベースに保存するか、ユーザーに表示するなど、何かを行うためのコードを書くことです。

21
00:01:14,790 --> 00:01:20,470
&nbsp;

22
00:01:20,790 --> 00:01:25,500
そしてその秘密は、ブラウザからリクエストする必要がないということです。

23
00:01:25,560 --> 00:01:27,840
あなたはコードでリクエストすることができます。

24
00:01:27,840 --> 00:01:34,200
リクエストと呼ばれるパッケージを使ってそれを行う方法を見ていきますが、他の方法もあります。

25
00:01:34,200 --> 00:01:34,940
&nbsp;

26
00:01:35,070 --> 00:01:40,130
Currallと呼ばれるツールは、Arelがコマンドラインからリクエストを行う方法であると考えています。

27
00:01:40,380 --> 00:01:46,710
したがって、必ずしもアプリケーションではありませんが、私はHGPコロンスラッシュスラッシュwwwを要求することができる独立したブラウザを知っていることを要求を表示するだけです。

28
00:01:47,220 --> 00:01:59,070
youtube。 私の端末からcomを取得すると、私はGoogleのドットコムに行くと、私はこのコンテンツをまったく同じ応答にします。

29
00:01:59,070 --> 00:02:03,000
&nbsp;

30
00:02:03,030 --> 00:02:09,330
主な相違点は、ブラウザでは情報が私に返されるということです。

31
00:02:09,420 --> 00:02:18,120
だから私はこれを見ますが、元に戻ってきた彼のテキストは私がここで見ているものです。

32
00:02:18,480 --> 00:02:23,520
だから、ほとんどの時間は私たちのコードでは、Webページから彼を尋ねるつもりはありません。

33
00:02:23,520 --> 00:02:26,120
私はこれがうまくいかないことを意味します。

34
00:02:26,880 --> 00:02:33,020
代わりに、私たちは通常APIからJaisonまたはX-amountを要求していますが、同じ考えが成り立ちます。

35
00:02:33,020 --> 00:02:35,580
Currallを使用してAPIをリクエストできます。

36
00:02:35,760 --> 00:02:43,170
だから私はあなたがIRLのAPIでKerlをやるだけですが、それはほとんどのアプリケーションで本当にやることではありません。

37
00:02:43,230 --> 00:02:47,930
これはコマンドラインから行うことができる教育的なデモンストレーションのようなものです。

38
00:02:48,060 --> 00:02:53,480
私たちはアプリケーションの中でそれをやるつもりだし、本当に簡単に始めるつもりです。

39
00:02:53,530 --> 00:02:56,340
ノードでどのようにリクエストを行うかを説明します。

40
00:02:56,760 --> 00:03:05,210
だから私はAPIの目をここに新しいディレクトリを作成し、次に私は新しいファイルを作成するつもりです。

41
00:03:05,430 --> 00:03:09,210
私は最初のリクエストと呼ぶつもりです。

42
00:03:09,240 --> 00:03:10,730
ジェイ・イエス。

43
00:03:10,890 --> 00:03:15,420
だから私たちがやるべきことは、javascriptファイルからリクエストを行うことだけです。

44
00:03:15,480 --> 00:03:18,150
Googlebotの列をもう一度リクエストするだけです。

45
00:03:18,270 --> 00:03:20,360
これは、私たちがcURLを使ってやったことです。

46
00:03:20,940 --> 00:03:23,450
そして、私はそれが取るべきたくさんのことができることのすべてのようなものだと知っています。

47
00:03:23,580 --> 00:03:27,430
要点は、ページを更新してブラウザでリクエストしたことだけです。

48
00:03:27,540 --> 00:03:29,340
我々は要求とコマンドラインを作った。

49
00:03:29,340 --> 00:03:32,470
それは我々が戻ってくる内容まで同じように働く。

50
00:03:32,550 --> 00:03:33,830
さあ、同じことをやりましょう。

51
00:03:33,840 --> 00:03:36,520
しかし、javascriptファイルから。

52
00:03:37,060 --> 00:03:39,170
だから私はそのファイルを開くつもりです。

53
00:03:40,950 --> 00:03:44,200
そして私たちはここに要求を行うコードを入れたいと思います。

54
00:03:44,220 --> 00:03:45,210
それではどうしたらいいのですか？

55
00:03:45,210 --> 00:03:47,130
どのようにしてノードから要求を出すのか。

56
00:03:47,430 --> 00:03:50,220
あなたが使うことができるさまざまなライブラリパッケージがたくさんあります。

57
00:03:50,370 --> 00:03:57,870
私たちが使用しようとしているものはリクエストと呼ばれ、これはおそらく最も一般的なものです。

58
00:03:57,870 --> 00:03:59,380
&nbsp;

59
00:03:59,400 --> 00:04:05,540
ちょうどGoogleノード要請単純化された古いUDP要求クライアント。

60
00:04:05,760 --> 00:04:08,690
だから私たちは簡単なリクエストをすることができます。

61
00:04:08,700 --> 00:04:10,800
これは基本的な構文の一種です。

62
00:04:10,920 --> 00:04:18,840
&nbsp;

63
00:04:18,840 --> 00:04:28,620
&nbsp;

64
00:04:28,620 --> 00:04:34,070
あなたが一見すると、最初に、他のすべてのパッケージのように変数にリクエストを設定する必要があります。次に、aurlにリクエストを行い、渡す関数があり、この関数の複数の部分または複数の引数がありますエラーレスポンスとボディ。

65
00:04:34,450 --> 00:04:41,720
リクエストを行うには時間がかかることがあるので、ここではコールバックを使用しています。時には非常に高速です（ミリ秒単位）。

66
00:04:42,030 --> 00:04:47,670
場合によっては、存在しないWebページやダウンしているサーバーをリクエストしている場合は、リクエストがハングアップすることがあります。

67
00:04:47,670 --> 00:04:48,840
&nbsp;

68
00:04:48,900 --> 00:04:55,290
それが良いか悪いかを問わず、何かをするために何度も何度も待つ必要があります。

69
00:04:55,950 --> 00:04:59,380
ここでは、これらの機能と使用方法について説明します。

70
00:04:59,490 --> 00:05:07,110
今はこれをコピーしましょう。実際に行単位で再入力するつもりですが、ここではそれを見ておくことができます。

71
00:05:07,110 --> 00:05:08,540
&nbsp;

72
00:05:08,820 --> 00:05:16,040
私たちが最初に行う必要があるのはもちろん、パッケージ要求をインストールすることで、NPMのインストール要求が要求され、正しく表示されるように要求できます。

73
00:05:18,250 --> 00:05:23,600
&nbsp;

74
00:05:23,890 --> 00:05:24,340
OK。

75
00:05:24,370 --> 00:05:25,240
だから我々はそれをやった。

76
00:05:25,240 --> 00:05:30,020
ここでちょっとリサイズして、これを書き直すつもりです。

77
00:05:30,040 --> 00:05:31,920
これを書き直すか、私たちはそれを乗り越えることができます。

78
00:05:32,170 --> 00:05:35,130
要求を要求する。

79
00:05:35,290 --> 00:05:36,880
素敵で簡単に始めることができます。

80
00:05:37,450 --> 00:05:41,320
だから次の行が実際にその要求をしています。

81
00:05:41,710 --> 00:05:49,110
だからこのアプリでは、私たちがそれを実行するたびにナップを呼び出す場合は、単にノードの最初の要求を実行します。

82
00:05:49,320 --> 00:05:49,790
はい。

83
00:05:49,840 --> 00:05:53,410
それは、iChatをGoogleから印刷することだけです。

84
00:05:53,420 --> 00:05:54,840
彼らは私たちが最初にやることです。

85
00:05:55,140 --> 00:05:57,690
したがって、私たちの要求には要求が必要です。

86
00:05:57,700 --> 00:06:02,510
それから、私たちはHTPコロンスラッシュスラッシュWを行うようにリクエストします。 W. Google。 com。

87
00:06:02,600 --> 00:06:03,740
Currallと同じようにあなたが病気で、私たちは同じ年齢を期待しています。

88
00:06:04,030 --> 00:06:10,980
それがリクエストを行う最初の部分です。

89
00:06:12,010 --> 00:06:14,390
しかし、戻ってくる情報で何かをするには、コールバックが必要です。

90
00:06:14,420 --> 00:06:18,940
そして、彼らは瞬間的ではないので、彼らはそれを説明した。

91
00:06:19,030 --> 00:06:22,510
時間がかかる。

92
00:06:22,510 --> 00:06:24,200
この要求は、潜在的に数千マイル離れたどこかのサーバーに移動しなければなりません。

93
00:06:24,220 --> 00:06:28,690
それから私たちにすべて戻ってくると、私たちのコンピュータはそれを理解してそれを理解しなければなりません。

94
00:06:28,780 --> 00:06:34,110
したがって、私たちがエラーレスポンスとボディに渡す3つのことがあります。

95
00:06:34,570 --> 00:06:41,770
エラーである最初のものは、私たちが得る潜在的なエラーをすべて保持します。

96
00:06:41,770 --> 00:06:47,890
&nbsp;

97
00:06:47,890 --> 00:06:54,580
サーバーがダウンしているか、リクエストがタイムアウトした場合、または私が妻をオフにしてエラーを返すようにすると、私たちはインターネット接続を持っていません。

98
00:06:54,580 --> 00:06:59,150
それで、ちょっと試してみましょう。

99
00:06:59,170 --> 00:07:01,010
しかし、エラーをチェックすることが重要です。

100
00:07:01,090 --> 00:07:03,800
だから、もしエラーがあったら、私たちはelseを持っています。

101
00:07:04,000 --> 00:07:13,850
だからエラーがある場合は、ただログを取らないでキャンセルしてみましょう。

102
00:07:13,900 --> 00:07:18,800
何かが間違っていて、そのログ自体を取り消します。

103
00:07:20,620 --> 00:07:27,790
さもなければ私達は何かを取り戻すことを意味する。

104
00:07:27,910 --> 00:07:31,460
&nbsp;

105
00:07:31,930 --> 00:07:37,750
この例では、レスポンスがステータスコード200の場合、ここでチェックしている2つ目のことがわかります。

106
00:07:37,750 --> 00:07:39,430
&nbsp;

107
00:07:39,610 --> 00:07:44,400
だから私たちはそれほどステータスコードに入るつもりはないが、もはや存在しないページを試してリクエストするたびに404ステータスコードに精通しているだろう。

108
00:07:44,410 --> 00:07:50,030
&nbsp;

109
00:07:50,410 --> 00:07:57,460
あなたが見つけられないものを要求しようとしているとわかっているエラーメッセージが見つからないためのステータスコードを調べると、

110
00:07:57,460 --> 00:08:01,020
しかし、他の多くのステータスコードがあります。

111
00:08:01,030 --> 00:08:03,550
だから、あなたは200であるが、ここで最も重要なものを見ることができる。

112
00:08:04,240 --> 00:08:07,490
を意味する。

113
00:08:07,510 --> 00:08:08,160
それは正常なリクエストに対する標準的な応答です。

114
00:08:08,170 --> 00:08:12,280
&nbsp;

115
00:08:12,280 --> 00:08:18,730
&nbsp;

116
00:08:18,730 --> 00:08:24,700
したがって、状況がうまくいれば、ステータスコードが200であるかどうかを確認したいという応答があります。ページが移動したように、200以外のステータスコードを持つ応答を得る可能性があるからです。

117
00:08:24,700 --> 00:08:26,400
そして、それは200になることはありません、我々はそれを別々に扱いたいと思います。

118
00:08:26,530 --> 00:08:29,490
&nbsp;

119
00:08:29,500 --> 00:08:35,620
これはハードコードではなくハードなものでもかまいませんが、現状が200かどうかを確認したいと常に考えています。

120
00:08:35,620 --> 00:08:37,960
&nbsp;

121
00:08:38,590 --> 00:08:47,440
ここではこれを行うつもりですが、今のところネストされたIF文です。したがって、ステータスコードが等しい場合のレスポンスが200に等しい場合です。

122
00:08:47,450 --> 00:08:48,650
だから私たちがここに着くなら、物事はうまくいった。

123
00:08:48,940 --> 00:08:56,420
だからそれが起こった場合は、そのログにするだけです。

124
00:08:56,500 --> 00:09:01,300
そして私たちはプリントアウトのボディに行きます。

125
00:09:01,990 --> 00:09:03,750
&nbsp;

126
00:09:03,880 --> 00:09:09,940
それは、Googleから私たちの年齢になるか、彼の年齢を超える戻ってきたものの実際の応答体である情報の最後の部分です。

127
00:09:09,940 --> 00:09:13,940
だから取るべきことがたくさんある。

128
00:09:14,500 --> 00:09:15,970
私は今これを取り除くつもりです。

129
00:09:16,390 --> 00:09:17,620
そのすべてをカットしてください。

130
00:09:17,620 --> 00:09:19,020
私のファイルを保存し、何が起こるか見てみましょう。

131
00:09:19,060 --> 00:09:23,630
だから、ノードはまずファイルの名前であるYesを要求します。

132
00:09:23,650 --> 00:09:28,390
そして、私たちはすべての年齢のティム・プリントをプリントアウトしています。

133
00:09:28,480 --> 00:09:34,390
すばらしいです。

134
00:09:34,750 --> 00:09:36,080
だからあなたも変わってみましょう。

135
00:09:36,100 --> 00:09:39,470
ドットコムセーフファイルを読むことに行きましょう。

136
00:09:39,730 --> 00:09:44,770
それを実行します。

137
00:09:44,860 --> 00:09:46,510
そして、ここで私はAPIを使って全く同じことをすることができるすべてを彼に読んでいます。

138
00:09:47,590 --> 00:09:54,190
&nbsp;

139
00:09:54,340 --> 00:10:01,710
ですから、Yahoo天気のエンドポイントに戻ると、これはハワイの夕焼け時間を入力して、これを入力するか、まったくこれに従うことを期待することではありません。

140
00:10:01,780 --> 00:10:04,080
&nbsp;

141
00:10:04,430 --> 00:10:12,700
しかし、あなたがここにいるのはペースがあれば、この巨人です。これは、Yahooの天気のためのAPIで、私に日没時間を与えます。

142
00:10:12,700 --> 00:10:14,070
それが機能するかどうかを見てみましょう。

143
00:10:14,070 --> 00:10:15,270
そしてその情報を元に戻しましたか？

144
00:10:16,060 --> 00:10:19,130
驚くばかり。

145
00:10:19,750 --> 00:10:20,260
だから私は実際にそれを1秒間取り除くつもりです。

146
00:10:20,380 --> 00:10:22,220
では、私がいくつかのことを変えるかどうかを見てみましょう。

147
00:10:22,420 --> 00:10:25,690
だから私の要求がHTPコロンスラッシュサイズの場合はどうなりますか？

148
00:10:25,720 --> 00:10:28,960
&nbsp;

149
00:10:28,980 --> 00:10:42,040
私はGoogleとランダムなものドットコムの束ではないと私はファイルを保存し、私は何かが間違って取得するリクエストを行うことを意味します。

150
00:10:42,040 --> 00:10:43,870
つまり、エラーが発生しています。

151
00:10:43,900 --> 00:10:45,850
&nbsp;

152
00:10:46,570 --> 00:10:53,500
その上に、エラー自体がエラーを見つけることができないConstaからのいくつかの情報を持っています。

153
00:10:53,500 --> 00:10:54,320
そこで私たちのページは見つかりませんでした。

154
00:10:54,730 --> 00:10:56,370
したがって、エラーのチェックの使用はリクエストが機能することを確認することができます。

155
00:10:56,710 --> 00:11:03,510
だから私たちがしなかった場合、私たちは自動的にそれを処理しました。

156
00:11:03,670 --> 00:11:06,610
この場合はすでにボディを印刷していますが、データをデータベースに保存しています。

157
00:11:06,670 --> 00:11:11,640
データを最初に取得し、リクエストがうまくいって、間違った場所に行ったり、何かが間違っていたことを知ったりしたことを確認したい。

158
00:11:11,680 --> 00:11:16,060
&nbsp;

159
00:11:16,060 --> 00:11:19,330
しかし、ここで見てきたように、このすべてを単純化することができます。

160
00:11:19,870 --> 00:11:23,170
&nbsp;

161
00:11:23,260 --> 00:11:27,880
これは短縮されたバージョンで、if文で両方の文を同時にチェックするだけです。

162
00:11:27,880 --> 00:11:29,740
これは、このリクエストライブラリまたはリクエストパッケージを使用してノードからリクエストを行う方法です。

163
00:11:29,740 --> 00:11:35,910
非常に単純な意味では、ほとんど同じことになるでしょう。

164
00:11:35,920 --> 00:11:40,230
&nbsp;

165
00:11:40,420 --> 00:11:46,390
あなたはただ要求を要求するつもりです。そしてあなたは、あなたがあなたの要求であるElenであると付け加え、Googleドットコムに戻します。

166
00:11:46,960 --> 00:11:51,050
次にコールバック関数があります。

167
00:11:51,250 --> 00:11:53,720
&nbsp;

168
00:11:53,830 --> 00:11:59,950
3つの情報は、ステータスコードとレスポンスのエラーチェックをチェックして、ボディで何かを行います。

169
00:11:59,950 --> 00:12:01,430
&nbsp;

170
00:12:01,510 --> 00:12:06,670
通常は印刷するだけではありませんが、エラーがなく、ステータスコードが200であれば、これで何かを行うことになります。

171
00:12:06,670 --> 00:12:09,120
だから私はそれがたくさんあることを知っていますが、それはあなたが従うことができるレシピのようなものです。

172
00:12:09,190 --> 00:12:12,790
OK。

173
00:12:13,120 --> 00:12:13,620
&nbsp;

174
00:12:13,750 --> 00:12:18,800
したがって、次のビデオでは、APIを実際にJason APIに要求し、それを使って何かを行うことで、もう少し詳しく調べていきます。

175
00:12:18,820 --> 00:12:21,260
すばらしいです。

176
00:12:21,310 --> 00:12:21,780
&nbsp;
