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

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

新規登録して質問してみよう
ただいま回答率
85.35%
HTTPヘッダー

Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

2638閲覧

fetchで本文が読み込めない?

One_of_Arthur

総合スコア82

HTTPヘッダー

Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2021/10/12 08:12

編集2021/10/12 08:25

前提・実現したいこと

Twitterの埋め込みコードをJavaScriptで取得しようとして書いたコードになります。
そのコンソールを見ると、ヘッダーは読み込めているようですが、本文が読み込めていないように思えます。
「response.ok」がtrueになっていないようで、「HTTP-Error」のアラートが出ます。
これは、コードの方が先走っていて、サーバーから本文が送られて来るより先に処理が終わっているということでしょうか?
それとも、このようなコードの書き方では、そもそも本文を取得できないということでしょうか?
教えて下さい。

発生している問題・エラーメッセージ

コンソールにエラーらしきは表示されていません。
アラートが出ています。
イメージ説明
そのコンソールの表示を下に貼ります。
イメージ説明

該当のソースコード

JavaScript

1async function sample(){ 2 var twitterID = 'One_of_Arthur'; 3 var tweetID = 1447787766457122816n; 4 alert('twitterID : ' + twitterID); 5 var url = 'https://publish.twitter.com/oembed?url=https://twitter.com/' + twitterID + '/status/' + String(tweetID); 6 7 const response = await fetch(url, { mode: "no-cors" }); 8 console.log(response); 9 if (response.ok) { // HTTP ステータスが 200-299 の場合 10 let commits = await response.json(); // レスポンスの本文を読み JSON としてパースする 11 console.log(commits[html]); 12 } else { 13 alert("HTTP-Error: " + response.status); 14 } 15} 16 17sample();

html

1<script type="text/javascript" src="unknown003.js"></script>

参考にしたページ

ググっていくつか参考にしましたけれど、はっきりしているのは下記のひとつだけです。
ほかのページはどこだか分からなくなってしまいました。
https://ja.javascript.info/fetch

補足情報(FW/ツールのバージョンなど)

ブラウザ:Google Chrome 94.0.4606.71

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

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

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

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

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

guest

回答1

0

ベストアンサー

試してみましたが、CORS違反のようです。

Fetch: クロスオリジン(Cross-Origin) リクエスト

no-corsの場合、CORSであってもエラーが出ず、下記のような虚無なレスポンスが返る。

fetchのmodeについて - Qiita

投稿2021/10/12 08:44

編集2021/10/13 01:33
Lhankor_Mhy

総合スコア36960

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問