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

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

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

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

Q&A

1回答

1063閲覧

Googleサイトの全ページ情報取得

mix715

総合スコア7

Google Apps Script

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

0グッド

0クリップ

投稿2018/07/27 03:00

前提・実現したいこと

サイト内のすべてのページ、URLが取得したい

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

エラーメッセージなし
max値を変えても200ページまでしか情報が取得されない。
全てのページ情報が欲しいので200で止まると困る。

該当のソースコード

GogoleAppsScript

1function get_html() { 2 var site = SitesApp.getSiteByUrl("サイトURL"); 3 var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 4 var descendants = site.getAllDescendants({ 5 start:0, max:1000, includeDrafts: false, includeDeleted: false 6 }); 7 var z=1; 8 for(var i in descendants) { 9 sheet.getRange(z,1).setValue(descendants[i].getTitle()); 10 sheet.getRange(z,2).setValue(descendants[i].getAttachments()); 11 sheet.getRange(z,3).setValue(descendants[i].getUrl()); 12 z++; 13 } 14}

試したこと

max:1000に変更

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

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

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

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

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

guest

回答1

0

getAllDescendantsにはないですがgetAnnouncementsには、"the max number of results to return, which defaults to and may not be more than 200"という記述があり、200がデフォルト値であるとともに上限値でもある可能性があると思います。

ところで一般的には数値で上限を持つ方式を取る限りは1000にしたところで必ず全てが取れることは保証できないわけですから、startを移動させて、空になるまで繰り返すという対処がとられると思います。

投稿2018/07/27 03:19

papinianus

総合スコア12705

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問