質問するログイン新規登録
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

1回答

7193閲覧

GoogleAppsScriptのエラー403

michiaki0702

総合スコア1

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2022/06/04 08:56

0

0

Googleスプレッドシートで、サイトの更新をメールで受け取るプログラムを利用したいと思い、以下のサイトの手順に沿って入力を行いました。
https://www.yuu-diaryblog.com/2017/04/14/disney-tricks/

すると、以下のエラーが出ました。
Exception: https://reserve.tokyodisneyresort.jp のリクエストに失敗しました(エラー: 403)。サーバー応答の一部: <HTML><HEAD>

<TITLE>Access Denied</TITLE> </HEAD><BODY> <H1>Access Denied</H1>

You don't have permission to access "http://reserve&#4...

調べてみたところ403はアクセスが制限されているという記事を見つけましたが、この手のエラーを解決することはできないのでしょうか?

なお、参考サイトは4年前のものであり、予約先のディズニーのサイトに変更があったため、スプレッドシートに入力するURLは以下にしました。
https://reserve.tokyodisneyresort.jp/sp/restaurant/check/?useDate=20220618&mealDivInform=&adultNum=2&childNum=0&childAgeInform=&restaurantTypeInform=&restaurantNameCd=&wheelchairCount=0&stretcherCount=0&showId=&nameCd=RJRH0&contentsCd=04&showWay=&reservationStatus=0&beforeUrl=https%3A%2F%2Freserve.tokyodisneyresort.jp%2Fsp%2Frestaurant%2Fcheck%2F%3FuseDate%3D20220618%26mealDivInform%3D%26adultNum%3D1%26childNum%3D0%26childAgeInform%3D%26restaurantTypeInform%3D%26restaurantNameCd%3D%26wheelchairCount%3D0%26stretcherCount%3D0%26nameCd%3DRJRH0%26contentsCd%3D04%26showWay%3D%26reservationStatus%3D0&wayBack=

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

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

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

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

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

guest

回答1

0

ソースコードの記載がないため、確信を持って回答することができませんが。
ヘッダーにユーザーエージェントの記載がないことが原因かと思います。
よって、
https://www.ugtop.com/spill.shtml にアクセス
②「現在のブラウザー」をコピー
③GASでリクエストを送る際、optionとして、次の項目を追加してください。```ここに言語を入力
コード

Javascript

1 const headers = { 2 "User-Agent": "ここに、②でコピーしたものを貼ってください。 "}; 3 const options = { 4 "method" : "GET", 5 "headers" : headers 6 } 7UrlFetchApp.fetch(url,options);

これで取得できるかと思います。

P.S. 方法をお伝えしましたが、このサイトのスクレイピングが禁止されているなら、手を出さないようにするのが無難です。

投稿2022/06/05 07:03

ouoyoueee

総合スコア43

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

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

退会済みユーザー

退会済みユーザー

2022/06/05 08:07 編集

すくなくとも現時点(2022年6月)では、GASのUrlFetchAppは、ユーザーエージェントを置き換えることはできません。(従来よりずっと同じ状況のようです) 記載のコードのように別のユーザーエージェントを指定したとしても、実際に送出されるユーザーエージェントは元々のGAS独自のものから変わりません。 このことは、GASでユーザーエージェントを変えて https://httpbin.org/get にリクエストを送って返ってくるレスポンスで確認できます。 関連: https://stackoverflow.com/questions/56099139/urlfetchapp-fetch-doesnt-seem-to-change-user-agent https://issuetracker.google.com/issues/36758197
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問