<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Google | Men of Letters（メン・オブ・レターズ） &#8211; 論理的思考/業務改善/プログラミング</title>
	<atom:link href="https://laboratory.kazuuu.net/category/google/feed/" rel="self" type="application/rss+xml" />
	<link>https://laboratory.kazuuu.net</link>
	<description></description>
	<lastBuildDate>Fri, 27 Jan 2023 05:10:24 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://laboratory.kazuuu.net/wp-content/uploads/2021/02/cropped-L-32x32.png</url>
	<title>Google | Men of Letters（メン・オブ・レターズ） &#8211; 論理的思考/業務改善/プログラミング</title>
	<link>https://laboratory.kazuuu.net</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/>	<item>
		<title>Google Apps Script を使用してChatGPTとGoogle スプレッドシートを接続する</title>
		<link>https://laboratory.kazuuu.net/connect-chatgpt-to-google-spreadsheets-using-google-apps-script/</link>
					<comments>https://laboratory.kazuuu.net/connect-chatgpt-to-google-spreadsheets-using-google-apps-script/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Fri, 27 Jan 2023 05:10:24 +0000</pubDate>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Apps Script（GAS）]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=14889</guid>

					<description><![CDATA[Google Apps Script を使用してChatGPTとGoogle スプレッドシートを接続してみます。 今回はGoogle スプレッドシートと Google Apps Script にアクセスする必要があります [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Google Apps Script を使用してChatGPTとGoogle スプレッドシートを接続してみます。</p>
<p>今回はGoogle スプレッドシートと Google Apps Script にアクセスする必要がありますので、Googleアカウントを事前に取得しておく必要があります。また<a href="https://laboratory.kazuuu.net/how-to-get-an-openai-api-key">OpenAI API キーを取得する</a>必要があります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■新しいGoogleスプレッドシートを作成する</a></li><li><a href="#toc2" tabindex="0">■新しいGoogleスクリプトを作成する</a></li><li><a href="#toc3" tabindex="0">■ChatGPT API に接続する</a><ol><li><a href="#toc4" tabindex="0">■コード</a></li></ol></li><li><a href="#toc5" tabindex="0">■実行・検証</a><ol><li><a href="#toc6" tabindex="0">■コード（修正版）</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">■新しいGoogleスプレッドシートを作成する</span></h2>
<p><img decoding="async" class="alignnone size-medium wp-image-14890" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123048-1-300x109.png" alt="" width="300" height="109" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123048-1-300x109.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123048-1-1024x371.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123048-1-768x278.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123048-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>まずは新しいGoogleスプレッドシートを作成します。作成のために、今回はWebブラウザで「個人向けのクラウド ストレージおよびファイル共有（<a href="https://www.google.com/intl/ja_jp/drive/">https://www.google.com/intl/ja_jp/drive/</a>）」にアクセスし、Webサイト上の「ドライブを開く」ボタンをクリックします。</p>
<p><img fetchpriority="high" decoding="async" class="alignnone size-medium wp-image-14891" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123220-1-300x231.png" alt="" width="300" height="231" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123220-1-300x231.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123220-1-1024x790.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123220-1-768x592.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123220-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>クリックすると、左側に「＋新規」ボタンがありますので、こちらをクリックします。</p>
<p><img decoding="async" class="alignnone size-medium wp-image-14892" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123404-1-300x220.png" alt="" width="300" height="220" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123404-1-300x220.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123404-1-1024x752.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123404-1-768x564.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123404-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>クリックするとプルダウンメニューが表示されメニューから「Googleスプレッドシート」をクリックします。クリック後、さらにメニューが表示されこの中から「空白のスプレッドシート」をクリックします。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-14893" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123745-1-300x162.png" alt="" width="300" height="162" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123745-1-300x162.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123745-1-1024x553.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123745-1-768x415.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123745-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>クリックすると新しいページに移動し、移動後「無題のスプレッドシート」が作成されます。これで新しい Google スプレッドシートの作成は完了となります。</p>
<h2><span id="toc2">■新しいGoogleスクリプトを作成する</span></h2>
<p>作成後、新しいGoogleスクリプトを作成します。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-14894" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123921-1-300x126.png" alt="" width="300" height="126" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123921-1-300x126.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123921-1-1024x428.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123921-1-768x321.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-123921-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>作成するために、作成したスプレッドシートのメニューから「拡張機能」をクリックします。クリックするとプルダウンメニューが表示されます。このメニュー内に「Apps Script」がありますので、こちらをクリックします。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-14895" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-124156-1-300x129.png" alt="" width="300" height="129" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-124156-1-300x129.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-124156-1-1024x439.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-124156-1-768x329.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-124156-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>クリックすると「Apps Script」の「無題のプロジェクト」が作成されます。これで新しいGoogleスクリプトを作成する準備が完了となりました。</p>
<h2><span id="toc3">■ChatGPT API に接続する</span></h2>
<p>完了後、「ファイル」の「コード.gs」にChatGPT API に接続するスクリプトを書いていきます。</p>
<h3><span id="toc4">■コード</span></h3>
<pre>function myFunction() {
  var apiKey = "取得したOpenAI API キー";
  var endpoint = "https://api.openai.com/v1/engines/davinci/completions";
  var text = "織田信長とはどんな人物ですか？"
  var payload = {
    "prompt": text,
    "max_tokens":1024,
    "stop": "."
  };
  var options = {
    "method": "post",
    "headers": {
      "Content-Type": "application/json",
      "Authorization": "Bearer " + apiKey
    },
    "payload": JSON.stringify(payload)
  };
  var response = UrlFetchApp.fetch(endpoint, options);
  var json = response.getContentText();
  var data = JSON.parse(json);
  var sheet = SpreadsheetApp.getActiveSheet();
      sheet.appendRow([text, data.choices[0].text]);
}</pre>
<p>今回はGoogle ScriptのUrlFetchAppを使って、ChatGPT APIに対してテキストを送信し、応答を受け取り、それをスプレッドシートに保存します。</p>
<p>なお、payload変数を宣言し、変数内に引数,パラメータとしてmax_tokens（生成する文章の最大単語数）を渡していますが、「2048」に設定すると下記のエラーが出力されました。</p>
<pre>Exception: Request failed for https://api.openai.com returned code 400. Truncated server response: {
"error": {
"message": "This model's maximum context length is 2049 tokens, however you requested 2072 tokens (24 in your prompt; 2048 for t... (use muteHttpExceptions option to examine full response)

”例外です。https://api.openai.com のリクエストに失敗し、コード 400 が返されました。サーバーの応答は切り捨てられています。{
"エラー": {
"message": { "メッセージ": "このモデルの最大コンテキスト長は2049トークンですが、あなたは2072トークンを要求しました(あなたのプロンプトでは24、t...では2048トークンです)。(muteHttpExceptions オプションを使用すると、レスポンス全体を確認することができます。）”</pre>

<a rel="noopener" href="https://community.openai.com/t/question-regarding-max-tokens/16259" title="Question regarding max_tokens" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://us1.discourse-cdn.com/openai1/original/4X/3/e/d/3ed8307fffa33b773ac17cedf142fc3c1577b0c0.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Question regarding max_tokens</div><div class="blogcard-snippet external-blogcard-snippet">If I lower the max_tokens value in my request, does GPT-3 generate shorter but complete texts, or does it just cut off t...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://community.openai.com/t/question-regarding-max-tokens/16259" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">community.openai.com</div></div></div></div></a>

<a rel="noopener" href="https://beta.openai.com/docs/api-reference/completions/create#completions/create-max_tokens" title="Just a moment..." class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fbeta.openai.com%2Fdocs%2Fapi-reference%2Fcompletions%2Fcreate%23completions%2Fcreate-max_tokens?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Just a moment...</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://beta.openai.com/docs/api-reference/completions/create#completions/create-max_tokens" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">beta.openai.com</div></div></div></div></a>
<p>そのため、「1024」と設定しています。</p>
<h2><span id="toc5">■実行・検証</span></h2>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-14896" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-132729-1-300x106.png" alt="" width="300" height="106" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-132729-1-300x106.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-132729-1-1024x361.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-132729-1-768x271.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-132729-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>スクリプトを書いた後に実行・検証を行います。「コード.gs」のコード編集画面上部に「実行」の文字がありますので、こちらをクリックします。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-14897" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125005-1-300x110.png" alt="" width="300" height="110" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125005-1-300x110.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125005-1-1024x377.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125005-1-768x283.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125005-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>クリックすると、「承認が必要です」というポップアップが表示されますので、ポップアップ内の「権限を確認」ボタンをクリックします。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-14898" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125019-1-300x238.png" alt="" width="300" height="238" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125019-1-300x238.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125019-1-1024x811.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125019-1-768x608.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125019-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>クリックすると、「Googleアカウント ログイン（OAuth2.0,認可を行うためのプロトコル）」ページが表示されます。ページ内では「アカウントの選択」でお持ちのGoogleアカウントが表示されていますので、こちらのアカウントを選択します。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-14899" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125034-1-300x257.png" alt="" width="300" height="257" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125034-1-300x257.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125034-1-1024x877.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125034-1-768x658.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125034-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>選択すると、別のページが表示されページ内に「このアプリは Google で確認されていません」、「アプリが、Google アカウントのプライベートな情報へのアクセスを求めています。デベ ロッパー ( ”お持ちのGoogleアカウント”) と Google によって確認されるまで、このアプリ を使用しないでください。」と表示されていますので、このページ内の「詳細」の文字をクリックします。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-14900" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125048-1-294x300.png" alt="" width="294" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125048-1-294x300.png 294w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125048-1-1002x1024.png 1002w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125048-1-768x785.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125048-1.png 1250w" sizes="(max-width: 294px) 100vw, 294px" /></p>
<p>クリックすると、「リスクを理解し、デベロッパー( ”お持ちのGoogleアカウント”)を使用できる場合のみ、続行してください。」とページ内に追加の文章が表示され、その下に「無題のプロジェクト（安全ではないページ）に移動」と文字がありますので、こちらをクリックします。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-14901" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125106-1-279x300.png" alt="" width="279" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125106-1-279x300.png 279w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125106-1-954x1024.png 954w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125106-1-768x825.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125106-1.png 1250w" sizes="(max-width: 279px) 100vw, 279px" /></p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-14902" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125118-1-300x295.png" alt="" width="300" height="295" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125118-1-300x295.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125118-1-1024x1008.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125118-1-768x756.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-125118-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>クリックすると、別のページが表示され「無題のプロジェクトがGoogleアカウントへのアクセスをリクエストしています。」などの文章が表示されます。このページの下に「許可」ボタンがありますので、こちらをクリックします。これで無題のプロジェクト（今回はGoogle Scriptを使って、ChatGPT APIに対してテキストを送信し、応答を受け取り、それをスプレッドシートに保存するというプロジェクト）に対して「Googleスプレッドシートのすべてのスプレッドシート参照、編集、作成、削除」を許可します。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-14903" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-134759-1-300x153.png" alt="" width="300" height="153" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-134759-1-300x153.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-134759-1-1024x521.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-134759-1-768x391.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-134759-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>許可すると、「Apps Script」の「コード.gs」のコード編集画面の下にある「実行ログ」に「実行開始」と出力され、しばらくすると「実行完了」と出力されます。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-14904" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-135213-1-300x125.png" alt="" width="300" height="125" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-135213-1-300x125.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-135213-1-1024x426.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-135213-1-768x319.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-135213-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>出力後、作成したスプレッドシートを確認すると、ChatGPTに対してpromptで指示（今回は「織田信長とはどんな人物ですか？」というもの）を与えているのでその指示に対して回答がスプレッドシート上に保存されていることを確認できました。</p>
<p>確認後、ChatGPTからの今回の回答を確認しましたが、日本語の文章として意味をなしていないことがわかります。</p>
<p>これを改善するために、payload変数を宣言し、変数内に引数,パラメータとしてtemperature（生成する応答の多様性）を渡してみることにしました（<a href="https://beta.openai.com/docs/api-reference/completions/create#completions/create-temperature">https://beta.openai.com/docs/api-reference/completions/create#completions/create-temperature</a>）。temperatureの値が高いほど、モデルがより多くのリスクを負うことを意味し、明確な答えとなります。もしくは変数内に引数,パラメータとしてtop_p（<a href="https://beta.openai.com/docs/api-reference/completions/create#completions/create-top_p">https://beta.openai.com/docs/api-reference/completions/create#completions/create-top_p</a>） を追加し変更することをOpenAI APIでは推奨しているが、temperatureとtop_pの両方を変更することは推奨していない。</p>
<h3><span id="toc6">■コード（修正版）</span></h3>
<pre>function myFunction() {
  var apiKey = "取得したOpenAI API キー";
  var endpoint = "https://api.openai.com/v1/engines/davinci/completions";
  var text = "織田信長とはどんな人物ですか？"
  var payload = {
    "prompt": text,
    "max_tokens":1024,
　　"temperature" : 0.5,
    "stop": "."
  };
  var options = {
    "method": "post",
    "headers": {
      "Content-Type": "application/json",
      "Authorization": "Bearer " + apiKey
    },
    "payload": JSON.stringify(payload)
  };
  var response = UrlFetchApp.fetch(endpoint, options);
  var json = response.getContentText();
  var data = JSON.parse(json);
  var sheet = SpreadsheetApp.getActiveSheet();
      sheet.appendRow([text, data.choices[0].text]);
}</pre>
<p>修正版ではtemperatureの値を「0.5」と設定し、このスクリプトを保存。保存後、実行・検証してみます。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-14905" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-140255-1-1-300x199.png" alt="" width="300" height="199" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-140255-1-1-300x199.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-140255-1-1-1024x679.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-140255-1-1-768x509.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/01/スクリーンショット-2023-01-27-140255-1-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>実行・検証後、スプレッドシートで保存されたChatGPTからの回答を確認すると修正前とは異なり、日本語の文章として、同じ文章を生成しているものの意味をなしていることが確認できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/connect-chatgpt-to-google-spreadsheets-using-google-apps-script/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Google ColaboratoryでYOLOv5を使用しオブジェクト検出する</title>
		<link>https://laboratory.kazuuu.net/i-used-yolo-v5-with-google-colaboratory/</link>
					<comments>https://laboratory.kazuuu.net/i-used-yolo-v5-with-google-colaboratory/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Mon, 05 Jul 2021 21:43:01 +0000</pubDate>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Python【初歩から現場実務的なもの】]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=9332</guid>

					<description><![CDATA[Google ColaboratoryでYOLOv5を使用しオブジェクト検出してみます。 目次 ■Python■Google Colaboratoryにアクセスする■ノートブックの設定■個人のGoogleドライブを使用す [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Google ColaboratoryでYOLOv5を使用しオブジェクト検出してみます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■Python</a></li><li><a href="#toc2" tabindex="0">■Google Colaboratoryにアクセスする</a></li><li><a href="#toc3" tabindex="0">■ノートブックの設定</a></li><li><a href="#toc4" tabindex="0">■個人のGoogleドライブを使用する設定</a><ol><li><a href="#toc5" tabindex="0">■コード</a></li></ol></li><li><a href="#toc6" tabindex="0">■YOLOv5リポジトリのクローン作成</a></li><li><a href="#toc7" tabindex="0">■インストール要件</a></li><li><a href="#toc8" tabindex="0">■YOLOv5を使用しオブジェクト検出する</a><ol><li><a href="#toc9" tabindex="0">■著作権フリーの写真を使用し、オブジェクト検出する</a></li></ol></li><li><a href="#toc10" tabindex="0">■オブジェクト検出した結果を確認する</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■Python</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/2021_06_09_10-2.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8981" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/2021_06_09_10-2-300x184.png" alt="" width="300" height="184" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/2021_06_09_10-2-300x184.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/2021_06_09_10-2-1024x629.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/2021_06_09_10-2-768x472.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/2021_06_09_10-2.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Google Colaboratory(Google Colab),Python3.7.10</p>
<h2><span id="toc2">■Google Colaboratoryにアクセスする</span></h2>
<p>まずはGoogle Colaboratory（<a href="https://colab.research.google.com/?hl=ja">https://colab.research.google.com/?hl=ja</a>）にアクセスします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22_1-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9334" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22_1-1-300x229.png" alt="" width="300" height="229" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22_1-1-300x229.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22_1-1-768x587.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22_1-1.png 793w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>アクセスすると、上部メニューに「ファイル」という項目があるので、クリックします。クリックすると、プルダウンメニューが表示され「ノートブックを新規作成」という項目があるので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135453-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9335" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135453-1-300x153.png" alt="" width="300" height="153" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135453-1-300x153.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135453-1-1024x523.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135453-1-768x393.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135453-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Googleへのログインが必要」というウインドウが表示されますので、Googleにログインするために、お持ちのGoogleアカウントでログインします。そのために「ログイン」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135636-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9336" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135636-1-271x300.png" alt="" width="271" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135636-1-271x300.png 271w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135636-1-925x1024.png 925w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135636-1-768x850.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135636-1.png 1250w" sizes="(max-width: 271px) 100vw, 271px" /></a></p>
<p>クリックすると、「アカウントの選択」というウインドウが表示されますので、お持ちのアカウントを選択します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135758-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9337" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135758-1-276x300.png" alt="" width="276" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135758-1-276x300.png 276w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135758-1-943x1024.png 943w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135758-1-768x834.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-135758-1.png 1250w" sizes="(max-width: 276px) 100vw, 276px" /></a></p>
<p>選択すると、アカウントのパスワードを入力するウインドウが表示されますので、「パスワードを入力」欄にパスワードを入力し、「次へ」ボタンをクリックします。</p>
<p>クリックすると、2段階認証のプロセスを有効にしている方はプロセスの手順を踏みます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140115-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9338" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140115-1-300x196.png" alt="" width="300" height="196" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140115-1-300x196.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140115-1-1024x668.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140115-1-768x501.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140115-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>その後、Google Colaboratory上で新しいノートブックが作成されます。</p>
<h2><span id="toc3">■ノートブックの設定</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140514.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9339" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140514-300x276.png" alt="" width="300" height="276" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140514-300x276.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140514.png 523w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>作成後、新しいノートブックの上部メニューにある「表示」から「ノートブック情報」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140550.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9340" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140550-300x188.png" alt="" width="300" height="188" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140550-300x188.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140550.png 527w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「ノートブック情報」というウインドウが表示されます。ウインドウ内に「ノートブックの設定を開く」という文字が表示されているので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140707-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9341" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140707-1-300x166.png" alt="" width="300" height="166" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140707-1-300x166.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140707-1-1024x567.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140707-1-768x425.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140707-1-160x90.png 160w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140707-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると「ノートブックの設定」というウインドウが表示されます。ウインドウ内の「ハードウェアアクセレータ」の矢印マークをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140840-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9342" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140840-1-300x172.png" alt="" width="300" height="172" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140840-1-300x172.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140840-1-1024x586.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140840-1-768x439.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140840-1-120x68.png 120w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-140840-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックするとプルダウンメニューが表示されますので、「GPU」を選択します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141001-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9343" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141001-1-300x211.png" alt="" width="300" height="211" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141001-1-300x211.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141001-1-1024x720.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141001-1-768x540.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141001-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>選択後、「Colab を最大限に活用するには、不要な GPU の使用を控えるようにしてください。」と表示されます。気になる方は「詳細」をクリックします。</p>
<p>「このノートブックを保存する際にコードセルの出力を除外する」のチェックボックスにはチェックを入れずに「保存」ボタンをクリックします。</p>
<p>クリックすると、設定が変更されます。</p>
<h2><span id="toc4">■個人のGoogleドライブを使用する設定</span></h2>
<h3><span id="toc5">■コード</span></h3>
<pre>from google.colab import drive
drive.mount('/content/drive')</pre>
<p>変更後、コードセルに上記のコードを記述します。個人（自分）のドライブにある画像、ビデオを使用することができるようになります。</p>
<p>記述後、セルを実行します。</p>
<blockquote><p>Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=***</p>
<p>Enter your authorization code:</p></blockquote>
<p>セルを実行すると、上記のメッセージが出力されますので、記載されているURLをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141540-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9344" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141540-1-242x300.png" alt="" width="242" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141540-1-242x300.png 242w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141540-1-827x1024.png 827w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141540-1-768x951.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141540-1-1240x1536.png 1240w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141540-1.png 1250w" sizes="(max-width: 242px) 100vw, 242px" /></a></p>
<p>クリックすると、URLへアクセスされます。「アカウントの選択」というウインドウが表示されますので、アカウントを選択します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141746-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9345" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141746-1-263x300.png" alt="" width="263" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141746-1-263x300.png 263w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141746-1-898x1024.png 898w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141746-1-768x876.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141746-1.png 1250w" sizes="(max-width: 263px) 100vw, 263px" /></a></p>
<p>選択すると「このアプリを Google からダウンロードしたことをご確認ください」というウインドウが表示されますので、「ログイン」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141928-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9346" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141928-1-300x296.png" alt="" width="300" height="296" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141928-1-300x296.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141928-1-1024x1009.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141928-1-768x757.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141928-1-100x100.png 100w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-141928-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「ログイン」というウインドウが表示され、「このコードをコピーし、アプリケーションに切り替えて貼り付けてください。」と書かれていますので、その下のコードをコピーします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-142109-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9347" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-142109-1-300x109.png" alt="" width="300" height="109" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-142109-1-300x109.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-142109-1-1024x372.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-142109-1-768x279.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-142109-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>コピーしたコードを、先ほど出力された「Enter your authorization code:」の入力欄に貼り付けて、Enterキーを押します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-142510-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9348" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-142510-1-300x286.png" alt="" width="300" height="286" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-142510-1-300x286.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-142510-1-1024x976.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-142510-1-768x732.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-142510-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Enterキーを押すと、ノートブックの左側にフォルダのアイコンがありますので、こちらをクリックし、「drive」のフォルダ内を確認すると「MyDrive」が追加され、個人（自分）のドライブが使用できるようになります。</p>
<h2><span id="toc6">■YOLOv5リポジトリのクローン作成</span></h2>
<p>次に、YOLOv5リポジトリのクローンを作成します。</p>
<pre>!git clone https://github.com/ultralytics/yolov5</pre>
<p>ノートブック上にコードセルを追加し、上記のコードを入力し、セルを実行します。</p>
<blockquote><p>Cloning into &#8216;yolov5&#8217;&#8230;<br />
remote: Enumerating objects: 7276, done.<br />
remote: Counting objects: 100% (398/398), done.<br />
remote: Compressing objects: 100% (252/252), done.<br />
remote: Total 7276 (delta 251), reused 263 (delta 146), pack-reused 6878<br />
Receiving objects: 100% (7276/7276), 9.20 MiB | 6.50 MiB/s, done.<br />
Resolving deltas: 100% (4979/4979), done.</p></blockquote>
<p>実行すると、「Resolving deltas: 100% (4979/4979), done.」と出力されますので、これでクローンの作成完了となります。</p>
<h2><span id="toc7">■インストール要件</span></h2>
<p>完了後、YOLOv5を使用しオブジェクト検出するために必要なパッケージをインストールします。</p>
<pre>!pip install -r yolov5/requirements.txt</pre>
<p>インストールのために、コードセルを追加し、上記のコードを入力し、セルを実行します。</p>
<pre>Requirement already satisfied: matplotlib&gt;=3.2.2 in /usr/local/lib/python3.7/dist-packages (from -r yolov5/requirements.txt (line 4)) (3.2.2)
Requirement already satisfied: numpy&gt;=1.18.5 in /usr/local/lib/python3.7/dist-packages (from -r yolov5/requirements.txt (line 5)) (1.19.5)
Requirement already satisfied: opencv-python&gt;=4.1.2 in /usr/local/lib/python3.7/dist-packages (from -r yolov5/requirements.txt (line 6)) (4.1.2.30)
Requirement already satisfied: Pillow in /usr/local/lib/python3.7/dist-packages (from -r yolov5/requirements.txt (line 7)) (7.1.2)
Collecting PyYAML&gt;=5.3.1
  Downloading https://files.pythonhosted.org/packages/7a/a5/393c087efdc78091afa2af9f1378762f9821c9c1d7a22c5753fb5ac5f97a/PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl (636kB)
     |████████████████████████████████| 645kB 14.1MB/s 
Requirement already satisfied: scipy&gt;=1.4.1 in /usr/local/lib/python3.7/dist-packages (from -r yolov5/requirements.txt (line 9)) (1.4.1)
Requirement already satisfied: torch&gt;=1.7.0 in /usr/local/lib/python3.7/dist-packages (from -r yolov5/requirements.txt (line 10)) (1.9.0+cu102)
Requirement already satisfied: torchvision&gt;=0.8.1 in /usr/local/lib/python3.7/dist-packages (from -r yolov5/requirements.txt (line 11)) (0.10.0+cu102)
Requirement already satisfied: tqdm&gt;=4.41.0 in /usr/local/lib/python3.7/dist-packages (from -r yolov5/requirements.txt (line 12)) (4.41.1)
Requirement already satisfied: tensorboard&gt;=2.4.1 in /usr/local/lib/python3.7/dist-packages (from -r yolov5/requirements.txt (line 15)) (2.5.0)
Requirement already satisfied: seaborn&gt;=0.11.0 in /usr/local/lib/python3.7/dist-packages (from -r yolov5/requirements.txt (line 19)) (0.11.1)
Requirement already satisfied: pandas in /usr/local/lib/python3.7/dist-packages (from -r yolov5/requirements.txt (line 20)) (1.1.5)
Collecting thop
  Downloading https://files.pythonhosted.org/packages/6c/8b/22ce44e1c71558161a8bd54471123cc796589c7ebbfc15a7e8932e522f83/thop-0.0.31.post2005241907-py3-none-any.whl
Requirement already satisfied: kiwisolver&gt;=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib&gt;=3.2.2-&gt;-r yolov5/requirements.txt (line 4)) (1.3.1)
Requirement already satisfied: cycler&gt;=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib&gt;=3.2.2-&gt;-r yolov5/requirements.txt (line 4)) (0.10.0)
Requirement already satisfied: python-dateutil&gt;=2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib&gt;=3.2.2-&gt;-r yolov5/requirements.txt (line 4)) (2.8.1)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,&gt;=2.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib&gt;=3.2.2-&gt;-r yolov5/requirements.txt (line 4)) (2.4.7)
Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from torch&gt;=1.7.0-&gt;-r yolov5/requirements.txt (line 10)) (3.7.4.3)
Requirement already satisfied: tensorboard-plugin-wit&gt;=1.6.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (1.8.0)
Requirement already satisfied: protobuf&gt;=3.6.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (3.12.4)
Requirement already satisfied: requests&lt;3,&gt;=2.21.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (2.23.0)
Requirement already satisfied: absl-py&gt;=0.4 in /usr/local/lib/python3.7/dist-packages (from tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (0.12.0)
Requirement already satisfied: setuptools&gt;=41.0.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (57.0.0)
Requirement already satisfied: werkzeug&gt;=0.11.15 in /usr/local/lib/python3.7/dist-packages (from tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (1.0.1)
Requirement already satisfied: wheel&gt;=0.26; python_version &gt;= "3" in /usr/local/lib/python3.7/dist-packages (from tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (0.36.2)
Requirement already satisfied: google-auth-oauthlib&lt;0.5,&gt;=0.4.1 in /usr/local/lib/python3.7/dist-packages (from tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (0.4.4)
Requirement already satisfied: grpcio&gt;=1.24.3 in /usr/local/lib/python3.7/dist-packages (from tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (1.34.1)
Requirement already satisfied: markdown&gt;=2.6.8 in /usr/local/lib/python3.7/dist-packages (from tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (3.3.4)
Requirement already satisfied: google-auth&lt;2,&gt;=1.6.3 in /usr/local/lib/python3.7/dist-packages (from tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (1.31.0)
Requirement already satisfied: tensorboard-data-server&lt;0.7.0,&gt;=0.6.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (0.6.1)
Requirement already satisfied: pytz&gt;=2017.2 in /usr/local/lib/python3.7/dist-packages (from pandas-&gt;-r yolov5/requirements.txt (line 20)) (2018.9)
Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from cycler&gt;=0.10-&gt;matplotlib&gt;=3.2.2-&gt;-r yolov5/requirements.txt (line 4)) (1.15.0)
Requirement already satisfied: idna&lt;3,&gt;=2.5 in /usr/local/lib/python3.7/dist-packages (from requests&lt;3,&gt;=2.21.0-&gt;tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (2.10)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,&lt;1.26,&gt;=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests&lt;3,&gt;=2.21.0-&gt;tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (1.24.3)
Requirement already satisfied: certifi&gt;=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests&lt;3,&gt;=2.21.0-&gt;tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (2021.5.30)
Requirement already satisfied: chardet&lt;4,&gt;=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests&lt;3,&gt;=2.21.0-&gt;tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (3.0.4)
Requirement already satisfied: requests-oauthlib&gt;=0.7.0 in /usr/local/lib/python3.7/dist-packages (from google-auth-oauthlib&lt;0.5,&gt;=0.4.1-&gt;tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (1.3.0)
Requirement already satisfied: importlib-metadata; python_version &lt; "3.8" in /usr/local/lib/python3.7/dist-packages (from markdown&gt;=2.6.8-&gt;tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (4.5.0)
Requirement already satisfied: pyasn1-modules&gt;=0.2.1 in /usr/local/lib/python3.7/dist-packages (from google-auth&lt;2,&gt;=1.6.3-&gt;tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (0.2.8)
Requirement already satisfied: rsa&lt;5,&gt;=3.1.4; python_version &gt;= "3.6" in /usr/local/lib/python3.7/dist-packages (from google-auth&lt;2,&gt;=1.6.3-&gt;tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (4.7.2)
Requirement already satisfied: cachetools&lt;5.0,&gt;=2.0.0 in /usr/local/lib/python3.7/dist-packages (from google-auth&lt;2,&gt;=1.6.3-&gt;tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (4.2.2)
Requirement already satisfied: oauthlib&gt;=3.0.0 in /usr/local/lib/python3.7/dist-packages (from requests-oauthlib&gt;=0.7.0-&gt;google-auth-oauthlib&lt;0.5,&gt;=0.4.1-&gt;tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (3.1.1)
Requirement already satisfied: zipp&gt;=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata; python_version &lt; "3.8"-&gt;markdown&gt;=2.6.8-&gt;tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (3.4.1)
Requirement already satisfied: pyasn1&lt;0.5.0,&gt;=0.4.6 in /usr/local/lib/python3.7/dist-packages (from pyasn1-modules&gt;=0.2.1-&gt;google-auth&lt;2,&gt;=1.6.3-&gt;tensorboard&gt;=2.4.1-&gt;-r yolov5/requirements.txt (line 15)) (0.4.8)
Installing collected packages: PyYAML, thop
  Found existing installation: PyYAML 3.13
    Uninstalling PyYAML-3.13:
      Successfully uninstalled PyYAML-3.13
Successfully installed PyYAML-5.4.1 thop-0.0.31.post2005241907</pre>
<p>実行すると、「Successfully installed」と出力されます。これが出力されれば、正常にインストールは完了となります。</p>
<pre>!cd /content/yolov5</pre>
<p>完了後、「/content/yolov5」ディレクトリに移動するため、コードセルを追加し、上記のコードを入力してセルを実行します。</p>
<h2><span id="toc8">■YOLOv5を使用しオブジェクト検出する</span></h2>
<p>実行後、単一のコマンドだけでYOLOv5を使用しオブジェクト検出することが可能となりました。</p>
<pre><code>!python &lt;detect.pyへのパス&gt; --source &lt;画像/動画/Youtubeビデオへのパス&gt; --weights &lt;ウェイト（重み）へのパス&gt; --conf &lt;最小信頼値&gt;</code></pre>
<p>YOLOv5を使用しオブジェクト検出するための基本的な単一のコマンドは上記になります。</p>
<h3><span id="toc9">■著作権フリーの写真を使用し、オブジェクト検出する</span></h3>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/taxi.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9349" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/taxi-300x199.jpg" alt="" width="300" height="199" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/taxi-300x199.jpg 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/taxi-1024x680.jpg 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/taxi-768x510.jpg 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/taxi.jpg 1280w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>今回は上記の著作権フリーの写真（Pixabayからダウンロードした写真）を、個人（自分）のドライブ（MyDrive）にアップロードし、オブジェクト検出してみます。なお、「taxi.jpg」という名前で保存し、「content/drive/MyDrive/（フォルダパス）」内に置きます。</p>
<pre>!python /content/yolov5/detect.py --source /content/drive/MyDrive/taxi.jpg --weights yolov5s.pt --conf 0.25</pre>
<p>その後、コードセルを追加し、上記のコードを記述し、セルを実行してみます。</p>
<pre>!python /content/yolov5/detect.py --source /content/drive/MyDrive/taxi.jpg --weights yolov5s.pt --conf 0.25
detect: weights=['yolov5s.pt'], source=/content/drive/MyDrive/taxi.jpg, imgsz=640, conf_thres=0.25, iou_thres=0.45, max_det=1000, device=, view_img=False, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project=runs/detect, name=exp, exist_ok=False, line_thickness=3, hide_labels=False, hide_conf=False, half=False
requirements: /content/requirements.txt not found, check failed.
YOLOv5 🚀 v5.0-223-gb83e1a4 torch 1.9.0+cu102 CUDA:0 (Tesla K80, 11441.1875MB)

Downloading https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5s.pt to yolov5s.pt...
100% 14.1M/14.1M [00:00&lt;00:00, 26.5MB/s]

Fusing layers...
/usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:718: UserWarning: Named tensors and all their associated APIs are an experimental feature and subject to change. Please do not use them for anything important until they are released as stable. (Triggered internally at /pytorch/c10/core/TensorImpl.h:1156.)
return torch.max_pool2d(input, kernel_size, stride, padding, dilation, ceil_mode)
Model Summary: 224 layers, 7266973 parameters, 0 gradients
image 1/1 /content/drive/MyDrive/taxi.jpg: 448x640 7 cars, Done. (0.064s)
Results saved to runs/detect/exp
Done. (1.303s)</pre>
<p>実行すると、今回用意した写真内からオブジェクト検出を開始します。開始後、しばらくすると「Done.（完了）」と出力されます。これでオブジェクト検出は完了です。</p>
<h2><span id="toc10">■オブジェクト検出した結果を確認する</span></h2>
<p>完了後、オブジェクト検出した結果を確認してみます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-145315-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9350" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-145315-1-300x196.png" alt="" width="300" height="196" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-145315-1-300x196.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-145315-1-1024x670.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-145315-1-768x502.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-22-145315-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>確認する際は、ノートブックの左側にフォルダのアイコンがありますので、こちらをクリックすると、「runs」というフォルダが生成されていることが確認できます。このフォルダをクリックし、「detect」の「exp」フォルダを確認すると、今回用意した画像ファイル「taxi.jpg」と同じ名前のファイルが確認できます。このファイルを開きます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/taxi-1.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9351" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/taxi-1-300x199.jpg" alt="" width="300" height="199" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/taxi-1-300x199.jpg 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/taxi-1-1024x680.jpg 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/taxi-1-768x510.jpg 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/taxi-1.jpg 1280w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>開くと、YOLOv5を使用したことで、写真内のタクシーが「car（車）」として認識されていることが確認できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/i-used-yolo-v5-with-google-colaboratory/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Google検索の検索結果を取得できるAPI「serpstack」に無料登録する</title>
		<link>https://laboratory.kazuuu.net/register-for-free-for-serpstack-an-api-that-allows-you-to-retrieve-google-search-results/</link>
					<comments>https://laboratory.kazuuu.net/register-for-free-for-serpstack-an-api-that-allows-you-to-retrieve-google-search-results/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Wed, 16 Jun 2021 05:38:07 +0000</pubDate>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Google]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=9167</guid>

					<description><![CDATA[Google検索の検索結果を取得できるAPI「serpstack」に無料登録してみます。 serpstack（https://serpstack.com/）は、無料でリアルタイムのGoogle検索結果APIで、世界中の検 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Google検索の検索結果を取得できるAPI「serpstack」に無料登録してみます。</p>
<p>serpstack（<a href="https://serpstack.com/">https://serpstack.com/</a>）は、無料でリアルタイムのGoogle検索結果APIで、世界中の検索エンジンの結果ページにおいて制作したWebサイトを監視するために使用できます。</p>
<h2>■serpstackのアカウントを取得する</h2>
<p>まずは「serpstack（<a href="https://serpstack.com/">https://serpstack.com/</a>）」にアクセスします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141404-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9168" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141404-1-300x201.png" alt="" width="300" height="201" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141404-1-300x201.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141404-1-1024x685.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141404-1-768x514.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141404-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>アクセスすると、サイトの上部に「SIGN UP FREE（無料会員登録）」という文字がありますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141600-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9169" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141600-1-300x148.png" alt="" width="300" height="148" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141600-1-300x148.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141600-1-1024x506.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141600-1-768x379.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141600-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると「Pricing（価格設定）」のページに移動します。このページ内で「Free（無料）」の「SIGN UP」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141817-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9170" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141817-1-300x212.png" alt="" width="300" height="212" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141817-1-300x212.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141817-1-1024x723.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141817-1-768x543.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-141817-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Sign Up（登録）」のページに移動します。「ACCOUNT DETAILS（アカウントの詳細）」の項目でメールアドレスとパスワードを入力します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-142157-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9171" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-142157-1-248x300.png" alt="" width="248" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-142157-1-248x300.png 248w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-142157-1-847x1024.png 847w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-142157-1-768x929.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-142157-1.png 1250w" sizes="(max-width: 248px) 100vw, 248px" /></a></p>
<p>入力後、ページを下にスクロールし、「請求内容（BILLING DETAILS）」の項目を入力します。「Full Name（姓名）」、「<label for="address">Address（住所）」、「Postal Code（郵便番号）」、「Country（国名）」、「State（都道府県）」、「City（市）」を入力します。</label></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-142720-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9172" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-142720-1-222x300.png" alt="" width="222" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-142720-1-222x300.png 222w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-142720-1-758x1024.png 758w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-142720-1-768x1037.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-142720-1-1137x1536.png 1137w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-142720-1.png 1250w" sizes="(max-width: 222px) 100vw, 222px" /></a></p>
<p>入力後、ページを下にスクロールし、「会社情報（COMPANY DETAILS）」の項目を入力しますが、今回は個人でのアカウント登録になりますので、入力はしません。法人の場合は入力する必要があります。</p>
<p>入力後、「私はロボットではありません」のチェックボックスにチェックを入れます。</p>
<p>その後に「Receive important maintenance and service notifications (recommended)メンテナンスやサービスに関する重要なお知らせを受け取る（推奨）」のチェックボックスにチェックが入っていますので、確認します。不要の場合はチェックを外します。</p>
<p>次に「I have read and agree to the Terms &amp; Conditions, Privacy Policy and Service Agreement of this website and service. （私は、本ウェブサイトおよびサービスの利用規約（<a href="https://serpstack.com/terms">https://serpstack.com/terms</a>）、プライバシーポリシー（<a href="https://serpstack.com/privacy">https://serpstack.com/privacy</a>）、サービス利用規約（<a href="https://serpstack.com/agreement">https://serpstack.com/agreement</a>）を読み、同意します。）」のチェックボックスにはチェックが入っていませんので、これにチェックを入れないとアカウント登録できないので、チェックを入れます。</p>
<p>最後にページの一番下にある「Sign Up」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-143340-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9173" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-143340-1-300x158.png" alt="" width="300" height="158" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-143340-1-300x158.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-143340-1-1024x540.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-143340-1-768x405.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-143340-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Quickstart Guide（クイックスタートガイド）」のページに移動します。これでアカウントの登録は完了となります。</p>
<p>なお、Free（無料）プランは、Google検索の検索結果を月で100回取得することができます。それ以上は制限がかかります。また取得できる形式は、JSONのみとなります。</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/register-for-free-for-serpstack-an-api-that-allows-you-to-retrieve-google-search-results/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Google Apps ScriptでGoogle検索結果をスクレイピングし検索結果を取得する</title>
		<link>https://laboratory.kazuuu.net/scraping-google-search-results-with-google-apps-script-to-get-search-results/</link>
					<comments>https://laboratory.kazuuu.net/scraping-google-search-results-with-google-apps-script-to-get-search-results/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Wed, 16 Jun 2021 02:02:38 +0000</pubDate>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Apps Script（GAS）]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=9163</guid>

					<description><![CDATA[Google Apps ScriptでGoogle検索結果をスクレイピングし検索結果を取得してみます。 目次 ■GoogleAppsScriptを作成■Google検索結果をスクレイピングし検索結果を取得する■コード■実 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Google Apps ScriptでGoogle検索結果をスクレイピングし検索結果を取得してみます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■GoogleAppsScriptを作成</a></li><li><a href="#toc2" tabindex="0">■Google検索結果をスクレイピングし検索結果を取得する</a><ol><li><a href="#toc3" tabindex="0">■コード</a></li><li><a href="#toc4" tabindex="0">■実行</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">■GoogleAppsScriptを作成</span></h2>
<p>まずは、GoogleアカウントでGoogleドライブ（<a href="https://drive.google.com/drive/u/0/my-drive">https://drive.google.com/drive/u/0/my-drive</a>）にアクセスします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/12/スクリーンショット-2020-12-16-095848-1-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-5826" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/12/スクリーンショット-2020-12-16-095848-1-1-150x300.png" alt="" width="150" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/12/スクリーンショット-2020-12-16-095848-1-1-150x300.png 150w, https://laboratory.kazuuu.net/wp-content/uploads/2020/12/スクリーンショット-2020-12-16-095848-1-1-512x1024.png 512w, https://laboratory.kazuuu.net/wp-content/uploads/2020/12/スクリーンショット-2020-12-16-095848-1-1.png 768w" sizes="(max-width: 150px) 100vw, 150px" /></a></p>
<p>アクセスし、左側のメニューから「新規」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120011-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8690" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120011-1-300x269.png" alt="" width="300" height="269" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120011-1-300x269.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120011-1-1024x917.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120011-1-768x688.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120011-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックするとプルダウンメニューが表示されますので、メニューの中から「その他」をクリックします。クリックすると、さらにプルダウンメニューが表示されますので、メニューの中から「Google Apps Script」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120225-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8691" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120225-1-300x148.png" alt="" width="300" height="148" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120225-1-300x148.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120225-1-1024x505.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120225-1-768x379.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120225-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、Apps Scriptのプロジェクトの作成画面が表示されます。こちらの画面で、Web サイトをスクレイピングするスクリプトを作成していきます。</p>
<h2><span id="toc2">■Google検索結果をスクレイピングし検索結果を取得する</span></h2>
<p>作成後、Google検索結果をスクレイピングし検索結果を取得するスクリプトを書いていきます。</p>
<h3><span id="toc3">■コード</span></h3>
<pre>function scrapeGoogle() {
  var searchResults=UrlFetchApp.fetch("https://www.google.co.jp/search?q="+encodeURIComponent("日本"));
  Logger.log(searchResults)
}</pre>
<p>UrlFetchApp.fetch()を使用し、日本のGoogle検索から「日本」という検索結果の情報を取得してみます。</p>
<h3><span id="toc4">■実行</span></h3>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-105226-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9164" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-105226-1-300x133.png" alt="" width="300" height="133" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-105226-1-300x133.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-105226-1-1024x455.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-105226-1-768x341.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-16-105226-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<blockquote><p>Exception: Request failed for https://www.google.co.jp returned code 429. Truncated server response: &lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD HTML 4.01 Transitional//EN&#8221;&gt; &lt;html&gt; &lt;head&gt;&lt;meta http-equiv=&#8221;content-type&#8221; content=&#8221;text/html; charset=utf-8&#8243;&gt;&lt;me&#8230; (use muteHttpExceptions option to examine full response)</p></blockquote>
<p>実行してみると、エラーが出力されました。エラーの内容を確認してみると、「https://www.google.co.jp のリクエストが失敗し、コード 429 が返されました。」というものです。</p>
<p>エラーを出力後、様々な方法でリクエストを試みましたが、いずれもリクエストは失敗。</p>
<p>原因を調べてみると、Google検索はUrlFetchからのリクエストを自動化されたトラフィックと判断し、ブロックされていることが判明しました（<a href="https://stackoverflow.com/questions/66429810/error-429-on-scraping-from-google-search-with-google-apps-script">https://stackoverflow.com/questions/66429810/error-429-on-scraping-from-google-search-with-google-apps-script</a>）。</p>
<p>検索結果を取得する場合は、Custom Search JSON/Atom API（<a href="https://developers.google.com/custom-search/v1/using_rest">https://developers.google.com/custom-search/v1/overview</a>）を使用した方が良い。</p>
<p>※RESTを使用してCustom Search JSON/Atom APIを呼び出す方法（<a href="https://developers.google.com/custom-search/v1/using_rest">https://developers.google.com/custom-search/v1/using_rest</a>）</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/scraping-google-search-results-with-google-apps-script-to-get-search-results/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Android Studioを使用しOpenCVライブラリをAndroidアプリケーションに追加する</title>
		<link>https://laboratory.kazuuu.net/adding-the-opencv-library-to-an-android-application-using-android-studio/</link>
					<comments>https://laboratory.kazuuu.net/adding-the-opencv-library-to-an-android-application-using-android-studio/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Thu, 03 Jun 2021 01:32:09 +0000</pubDate>
				<category><![CDATA[Android（アンドロイド）]]></category>
		<category><![CDATA[Google]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=8795</guid>

					<description><![CDATA[Android Studioを使用しOpenCVライブラリをAndroidアプリケーションに追加してみます。 目次 ■PC環境■OpenCVパッケージのダウンロード■Android Studioにモジュールをインポートす [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Android Studioを使用しOpenCVライブラリをAndroidアプリケーションに追加してみます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■OpenCVパッケージのダウンロード</a></li><li><a href="#toc3" tabindex="0">■Android Studioにモジュールをインポートする</a></li><li><a href="#toc4" tabindex="0">■プロジェクト構造を変更する</a></li><li><a href="#toc5" tabindex="0">■モジュール依存性の追加が行うことができないので対処する</a></li><li><a href="#toc6" tabindex="0">■プロジェクト構造を変更する</a></li><li><a href="#toc7" tabindex="0">■ネイティブライブラリを追加する</a></li><li><a href="#toc8" tabindex="0">■OpenCVが正常に追加されたかどうかを確認する</a><ol><li><a href="#toc9" tabindex="0">■コード</a></li><li><a href="#toc10" tabindex="0">■正常に追加されたかどうかを確認する</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>Windows 10 Pro</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-03-083739-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-6632" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-03-083739-1-300x132.png" alt="" width="300" height="132" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-03-083739-1-300x132.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-03-083739-1-1024x450.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-03-083739-1-768x337.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-03-083739-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Android Studio バージョン 4.2.1</p>
<h2><span id="toc2">■OpenCVパッケージのダウンロード</span></h2>
<p>まず、OpenCVパッケージのダウンロードを行います。OpenCVパッケージのダウンロードを行うには、こちらのサイト（<a href="https://opencv.org/releases/">https://opencv.org/releases/</a>）にアクセスします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-091820-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8796" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-091820-1-300x199.png" alt="" width="300" height="199" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-091820-1-300x199.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-091820-1-1024x678.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-091820-1-768x509.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-091820-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>アクセスすると、OpenCVのリリース情報が公開されていますので、この中からダウンロードするパッケージを確認します。なお、Android Studioバージョンと同じバージョンのOpenCVをダウンロードする必要があります。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092233-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8797" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092233-1-300x151.png" alt="" width="300" height="151" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092233-1-300x151.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092233-1-1024x517.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092233-1-768x388.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092233-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>今回は「Android Studio バージョン 4.2.1」を使用していますので、4.2.1バージョンはありませんので、近いバージョンである「OpenCV – 4.2.0」をダウンロードします。ダウンロードする際は「Android」のボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092338-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8798" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092338-1-300x235.png" alt="" width="300" height="235" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092338-1-300x235.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092338-1-1024x802.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092338-1-768x601.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092338-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Find out more about OpenCV | SourceForge.net（https://sourceforge.net/projects/opencvlibrary/postdownload）のページに移動します。移動すると、自動的にダウンロードが開始されます。ダウンロードが開始されない場合は「Download」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092618-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8799" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092618-1-300x246.png" alt="" width="300" height="246" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092618-1-300x246.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092618-1-1024x841.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092618-1-768x631.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092618-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>しばらくすると、Webブラウザで指定されている保存場所に「opencv-4.2.0-android-sdk.zip」というzip形式のファイルがダウンロードされます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092949-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8800" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092949-1-300x187.png" alt="" width="300" height="187" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092949-1-300x187.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092949-1-1024x639.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092949-1-768x479.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-092949-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>ダウンロード後、「opencv-4.2.0-android-sdk.zip」を展開（解凍）します。</p>
<h2><span id="toc3">■Android Studioにモジュールをインポートする</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093050-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8801" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093050-1-300x223.png" alt="" width="300" height="223" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093050-1-300x223.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093050-1-1024x762.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093050-1-768x571.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093050-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>その後、Android Studioを起動させます。起動後、「Create New Project」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093226-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8802" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093226-1-300x206.png" alt="" width="300" height="206" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093226-1-300x206.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093226-1-1024x702.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093226-1-768x527.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093226-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「新規プロジェクトの作成」で、今回は「Templates」から「Empty Activity」を選択し、「次へ」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093537-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8803" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093537-1-300x205.png" alt="" width="300" height="205" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093537-1-300x205.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093537-1-1024x700.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093537-1-768x525.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093537-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Empty Activity」の設定が表示されますので、「Language」を「Java」に設定し、「完了」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093807.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8804" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093807-300x154.png" alt="" width="300" height="154" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093807-300x154.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093807-1024x527.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093807-768x396.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093807.png 1334w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、プロジェクトが作成されます。作成後、プロジェクトの作成画面の上部にあるメニューから「ファイル」をクリックします。クリックするとプルダウンメニューが表示されますので、「新規」をクリックし、さらに「import Module..」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094011-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8805" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094011-1-300x198.png" alt="" width="300" height="198" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094011-1-300x198.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094011-1-1024x674.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094011-1-768x506.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094011-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Import Module from Source」というウインドウが表示されます。ウインドウ内の「フォルダ」のアイコンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094548-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8806" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094548-1-256x300.png" alt="" width="256" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094548-1-256x300.png 256w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094548-1-876x1024.png 876w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094548-1-768x898.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094548-1.png 1250w" sizes="(max-width: 256px) 100vw, 256px" /></a></p>
<p>クリックした後に、先程展開（解凍）した「opencv-4.2.0-android-sdk」内の「OpenCV-android-sdk」の「sdk」から「Java」を選択します。なお、展開（解凍）した「opencv-4.2.0-android-sdk」は、「C:\Users\user_」のディレクトリ内に移動してあります。</p>
<p>選択後「OK」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094944-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8807" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094944-1-300x206.png" alt="" width="300" height="206" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094944-1-300x206.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094944-1-1024x703.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094944-1-768x527.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094944-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Source directory」に「C:\Users\user_\opencv-4.2.0-android-sdk\OpenCV-android-sdk\sdk\java」が選択された状態になります。「Module name」には、自動的にAndroid Studioがモジュールを取得して名前を設定するようですが、今回は「Java」となっていますので「opencv」と変更します。</p>
<p>変更後「次へ」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-100117-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8808" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-100117-1-300x198.png" alt="" width="300" height="198" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-100117-1-300x198.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-100117-1-1024x676.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-100117-1-768x507.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-100117-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「ADT Import Preferences」というウインドウが表示されます。</p>
<blockquote><p>The ADT project importer can identify some .jar files and even whole source copies of libraries, and replace them with Gradle dependencies. However, it cannot figure out which exact version of the library to use, so it will use the latest. If your project needs to be adjusted to compile with the latest library, you can either import the project again and disable the following options, or better yet, update your project.（ADTプロジェクトインポーターは、いくつかの.jarファイル、さらにはライブラリのソースコピー全体を識別して、それらをGradleの依存関係に置き換えることができます。しかし、使用するライブラリの正確なバージョンを把握することができないため、最新のものが使用されます。最新のライブラリでコンパイルするようにプロジェクトを調整する必要がある場合は、プロジェクトを再度インポートして、以下のオプションを無効にするか、いっそのことプロジェクトをアップデートしてください。）</p></blockquote>
<p>ウインドウ内には上記のメッセージが書かれています。</p>
<blockquote><p>Replace jars with dependencies, when possible（可能であれば、jarを依存関係に置き換える）</p>
<p>Replace library sources with dependencies, when possible（可能な限り、ライブラリのソースを依存関係に置き換える）</p>
<p>Other Import Options:（その他のインポートオプション）</p>
<p>Create Gradle-style (camelCase) module names（Gradleスタイル（キャメルケース）のモジュール名の作成）</p></blockquote>
<p>さらに上記のチェックボックスにはチェックが入れられていますが、このままの状態でOpencvのモジュールを追加しますので、「完了」ボタンをクリックします。これでモジュールが追加されました。</p>
<h2><span id="toc4">■プロジェクト構造を変更する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-101739-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8809" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-101739-1-247x300.png" alt="" width="247" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-101739-1-247x300.png 247w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-101739-1-844x1024.png 844w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-101739-1-768x932.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-101739-1.png 1250w" sizes="(max-width: 247px) 100vw, 247px" /></a></p>
<p>追加後、プロジェクト構造を変更します。変更する際は、プロジェクトの作成画面の「ファイル」から「プロジェクト構造」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_1-1-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8810" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_1-1-1-300x186.png" alt="" width="300" height="186" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_1-1-1-300x186.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_1-1-1-1024x637.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_1-1-1-768x477.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_1-1-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「プロジェクト構造」のウインドウが表示されますので、「All Modules」を選択し「All Dependencies」から「+」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_2-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8811" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_2-1-300x228.png" alt="" width="300" height="228" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_2-1-300x228.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_2-1-1024x777.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_2-1-768x583.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_2-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、プルダウンメニューが表示されますので「Module Dependency」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_3-1-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8812" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_3-1-1-300x253.png" alt="" width="300" height="253" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_3-1-1-300x253.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_3-1-1-1024x864.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_3-1-1-768x648.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_3-1-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Add Module Dependency」というウインドウが表示されますので、opencvを選択し「OK」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-103054-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8813" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-103054-1-300x240.png" alt="" width="300" height="240" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-103054-1-300x240.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-103054-1-1024x819.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-103054-1-768x614.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-103054-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Select at least one module」という警告が表示され、モジュール依存性の追加が行うことができません。</p>
<h2><span id="toc5">■モジュール依存性の追加が行うことができないので対処する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093807.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8804" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093807-300x154.png" alt="" width="300" height="154" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093807-300x154.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093807-1024x527.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093807-768x396.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-093807.png 1334w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>対処するために、プロジェクトを再度作成します。作成後、プロジェクトの作成画面の上部にあるメニューから「ファイル」をクリックします。クリックするとプルダウンメニューが表示されますので、「新規」をクリックし、さらに「import Module..」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094011-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8805" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094011-1-300x198.png" alt="" width="300" height="198" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094011-1-300x198.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094011-1-1024x674.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094011-1-768x506.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-094011-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Import Module from Source」というウインドウが表示されます。ウインドウ内の「フォルダ」のアイコンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-105841.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8814" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-105841-300x195.png" alt="" width="300" height="195" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-105841-300x195.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-105841-768x500.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-105841.png 904w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックした後に、先程展開（解凍）した「opencv-4.2.0-android-sdk」内の「OpenCV-android-sdk」の「sdk」を選択します。<span style="background-color: #ff99cc;">「Java」は選択しません。</span></p>
<p>選択後「OK」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-110133-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8816" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-110133-1-300x173.png" alt="" width="300" height="173" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-110133-1-300x173.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-110133-1-1024x590.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-110133-1-768x442.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-110133-1-120x68.png 120w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-110133-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>「Module name」には、自動的にAndroid Studioがモジュールを取得して名前を設定するようですが、「opencv」と変更します。変更後「完了」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-104817-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8815" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-104817-1-300x78.png" alt="" width="300" height="78" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-104817-1-300x78.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-104817-1-1024x268.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-104817-1-768x201.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-104817-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<blockquote><p>To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.<br />
Alternatively, to transfer the license agreements from one workstation to another, see http://d.android.com/r/studio-ui/export-licenses.html</p>
<p>Using Android SDK: C:\Users\user_\AppData\Local\Android\Sdk</p></blockquote>
<p>クリックすると、「opencv」モジュールがインポート。プロジェクトの作成画面に上記のエラーが表示されます。表示された下に「Install latest NDK and sync project」という文字が表示されていますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_1-1-2.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8817" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_1-1-2-300x204.png" alt="" width="300" height="204" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_1-1-2-300x204.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_1-1-2-1024x698.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_1-1-2-768x523.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_1-1-2.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「SDK Quickfix Installation」というウインドウが表示されます。ウインドウ内には「Licence Agreement（ライセンス契約）」と表示され、「Licence」の「android-sdk-licence」の「NDK(Sidebyside）」が選択され、「Terms and Conditions（ご利用条件）」が表示されていますので、翻訳ツールで確認し「Accept（受け入れ）」にチェックを入れます。</p>
<p>その後、「次へ」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_2-1-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8818" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_2-1-1-300x204.png" alt="" width="300" height="204" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_2-1-1-300x204.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_2-1-1-1024x696.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_2-1-1-768x522.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_2-1-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、ウインドウに「Component Installer（コンポーネント・インストーラ）」と表示され、要求されたコンポーネント「NDK(Sidebyside）」のインストールが開始されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_3-1-2.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8819" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_3-1-2-300x204.png" alt="" width="300" height="204" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_3-1-2-300x204.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_3-1-2-1024x697.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_3-1-2-768x523.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_3-1-2.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>しばらくすると、インストールが完了となりますので、「完了」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-111555-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8820" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-111555-1-300x74.png" alt="" width="300" height="74" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-111555-1-300x74.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-111555-1-1024x252.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-111555-1-768x189.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-111555-1.png 1248w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、今度はエラーが表示されなくなり、ビルドが開始され、「BUILD SUCCESSFUL」となります。</p>
<h2><span id="toc6">■プロジェクト構造を変更する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-101739-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8809" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-101739-1-247x300.png" alt="" width="247" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-101739-1-247x300.png 247w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-101739-1-844x1024.png 844w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-101739-1-768x932.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-101739-1.png 1250w" sizes="(max-width: 247px) 100vw, 247px" /></a></p>
<p>追加後、プロジェクト構造を変更します。変更する際は、プロジェクトの作成画面の「ファイル」から「プロジェクト構造」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_daswe-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8821" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_daswe-1-300x158.png" alt="" width="300" height="158" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_daswe-1-300x158.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_daswe-1-1024x540.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_daswe-1-768x405.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02_daswe-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「プロジェクト構造」のウインドウが表示されますので、「Modules」から「app」を選択し、「Declared Dependencies」から「+」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112135-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8822" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112135-1-300x203.png" alt="" width="300" height="203" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112135-1-300x203.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112135-1-1024x694.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112135-1-768x520.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112135-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、プルダウンメニューが表示されますので「Module Dependency」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112342-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8823" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112342-1-224x300.png" alt="" width="224" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112342-1-224x300.png 224w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112342-1-764x1024.png 764w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112342-1-768x1029.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112342-1-1146x1536.png 1146w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112342-1.png 1250w" sizes="(max-width: 224px) 100vw, 224px" /></a></p>
<p>クリックすると、「Add Module Dependency」というウインドウが表示されますので、opencvを選択し「OK」ボタンをクリックします。</p>
<h2><span id="toc7">■ネイティブライブラリを追加する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-093333.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8839" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-093333-300x195.png" alt="" width="300" height="195" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-093333-300x195.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-093333-1024x666.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-093333-768x500.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-093333.png 1045w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリック後、プロジェクトの作成画面の「app」が表示されている箇所で、右クリックします。すると、プルダウンメニューが表示されますので、「新規」-「Folder」-「JIN Folder」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-093710-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8841" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-093710-1-300x158.png" alt="" width="300" height="158" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-093710-1-300x158.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-093710-1-1024x540.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-093710-1-768x405.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-093710-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「New Andoroid Component」というウインドウが表示されます。ウインドウ内の「Change Folder Location」のチェックボックスにチェックを入れます。チェック後、「New Folder Location」の入力欄の「src/main/jni/」を、「src/main/jniLibs」に変更します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-094032-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8842" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-094032-1-300x204.png" alt="" width="300" height="204" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-094032-1-300x204.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-094032-1-1024x695.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-094032-1-768x521.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-094032-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>変更後、「完了」ボタンをクリックします。クリックすると、「JIN Folder」が作成されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112900-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8824" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112900-1-300x117.png" alt="" width="300" height="117" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112900-1-300x117.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112900-1-1024x399.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112900-1-768x299.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112900-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>作成後、ネイティブライブラリを追加するために、「opencv-4.2.0-android-sdk」内の「OpenCV-android-sdk」の「sdk」フォルダを確認します。「native」フォルダがあるのでこの中身を確認します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112952-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8825" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112952-1-300x108.png" alt="" width="300" height="108" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112952-1-300x108.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112952-1-1024x370.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112952-1-768x277.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-02-112952-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>確認すると「libs」フォルダがあるので、これをコピーします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-094531-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8843" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-094531-1-300x147.png" alt="" width="300" height="147" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-094531-1-300x147.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-094531-1-1024x501.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-094531-1-768x375.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-094531-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>コピー後、「C:\Users\***\AndroidStudioProjects\MyApplication&lt;プロジェクト名&gt;\app\src\main」のディレクトリに移動し、コピーした「libs」の中身（「libs」フォルダ以外）を「jniLibs」に入れます。これで、OpenCVライブラリをAndroidアプリケーション（プロジェクト）へ追加する作業が完了となります。</p>
<h2><span id="toc8">■OpenCVが正常に追加されたかどうかを確認する</span></h2>
<p>完了後、OpenCVが正常に追加されたかどうかを確認してみます。</p>
<p>プロジェクトの作成画面の「MainActivity.java」を編集します。</p>
<h3><span id="toc9">■コード</span></h3>
<pre>package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;

import org.opencv.android.OpenCVLoader;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if(OpenCVLoader.initDebug()){
            Log.d("Check","OpenCv configured successfully");
        }else{
            Log.d("Check","OpenCv doesn't configured successfully");
        }
    }
}</pre>
<p>上記のようにコードを編集し保存。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-101359-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8844" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-101359-1-300x123.png" alt="" width="300" height="123" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-101359-1-300x123.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-101359-1-1024x420.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-101359-1-768x315.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-101359-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>保存後、プロジェクトの作成画面の上部にある「実行」ボタンをクリックします。クリックすると、ビルドが開始されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03_122-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8845" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03_122-1-300x127.png" alt="" width="300" height="127" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03_122-1-300x127.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03_122-1-1024x435.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03_122-1-768x326.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03_122-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>開始後、しばらくすると、「Gradle Invocation Finished（Gradle の呼び出しが完了しました）」とWindowsの通知が表示されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-101833-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8846" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-101833-1-300x78.png" alt="" width="300" height="78" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-101833-1-300x78.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-101833-1-1024x266.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-101833-1-768x199.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-101833-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>また、プロジェクトの作成画面の下にある「Build」を確認すると、「BUILD SUCCESSFUL in 3s 51 actionable tasks: 3 executed, 48 up-to-date」と出力されますので、このような出力がでればビルドは完了となります。</p>
<blockquote><p>Manifest merger failed : uses-sdk:minSdkVersion 17 cannot be smaller than version 21 declared in library [:opencv] C:\Users\user_\AndroidStudioProjects\MyApplication\opencv\build\intermediates\merged_manifest\debug\AndroidManifest.xml as the library might be using APIs not available in 17<br />
Suggestion: use a compatible library with a minSdk of at most 17,<br />
or increase this project&#8217;s minSdk version to at least 21,<br />
or use tools:overrideLibrary=&#8221;org.opencv&#8221; to force usage (may lead to runtime failures)</p></blockquote>
<p>なお、ビルドを開始し、上記のようなエラーが表示される場合があります。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-095420-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8847" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-095420-1-300x116.png" alt="" width="300" height="116" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-095420-1-300x116.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-095420-1-1024x395.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-095420-1-768x296.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-095420-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>このエラーを解決する場合は、「C:\Users\user_\AndroidStudioProjects\MyApplication&lt;プロジェクト名&gt;\app」のディレクトリ内にある「build.gradle」のファイルを編集します。</p>
<pre>defaultConfig {
applicationId "com.example.myapplication"
minSdkVersion 21
targetSdkVersion 30
versionCode 1
versionName "1.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}</pre>
<p>ファイル内に上記のコードが書かれていますので、「minSdkVersion」の部分を変更します。エラーを確認すると「this project&#8217;s minSdk version to at least 21」となっていますので、「minSdkVersion」を「21」に変更し、保存します。保存後、プロジェクトの作成画面の上部にある「実行」ボタンをクリックすると、正常にビルドが開始されます。</p>
<h3><span id="toc10">■正常に追加されたかどうかを確認する</span></h3>
<p>ビルドが完了後、正常に追加されたかどうかを確認するために、プロジェクトの作成画面の下にある「Logcat」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-102929.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8848" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-102929-300x79.png" alt="" width="300" height="79" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-102929-300x79.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-102929-1024x271.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-102929-768x203.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-03-102929.png 1165w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、ログの出力が確認できますので、「OpenCv configured successfully」と出力されていれば、OpenCVが正常に追加されています。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/adding-the-opencv-library-to-an-android-application-using-android-studio/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Google Apps Script】 Webサイトをスクレイピングする</title>
		<link>https://laboratory.kazuuu.net/google-apps-script-scraping-websites/</link>
					<comments>https://laboratory.kazuuu.net/google-apps-script-scraping-websites/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Sun, 30 May 2021 03:47:20 +0000</pubDate>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Apps Script（GAS）]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=8689</guid>

					<description><![CDATA[GoogleAppsScript（GAS）を使用し、Webサイトをスクレイピングすることについて、解説しています。 目次 ■GoogleAppsScriptを作成■Webサイトのデータを取得する■コード■実行 ■Goog [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>GoogleAppsScript（GAS）を使用し、Webサイトをスクレイピングすることについて、解説しています。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■GoogleAppsScriptを作成</a></li><li><a href="#toc2" tabindex="0">■Webサイトのデータを取得する</a><ol><li><a href="#toc3" tabindex="0">■コード</a></li><li><a href="#toc4" tabindex="0">■実行</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">■GoogleAppsScriptを作成</span></h2>
<p>まずは、GoogleアカウントでGoogleドライブ（<a href="https://drive.google.com/drive/u/0/my-drive">https://drive.google.com/drive/u/0/my-drive</a>）にアクセスします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/12/スクリーンショット-2020-12-16-095848-1-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-5826" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/12/スクリーンショット-2020-12-16-095848-1-1-150x300.png" alt="" width="150" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/12/スクリーンショット-2020-12-16-095848-1-1-150x300.png 150w, https://laboratory.kazuuu.net/wp-content/uploads/2020/12/スクリーンショット-2020-12-16-095848-1-1-512x1024.png 512w, https://laboratory.kazuuu.net/wp-content/uploads/2020/12/スクリーンショット-2020-12-16-095848-1-1.png 768w" sizes="(max-width: 150px) 100vw, 150px" /></a></p>
<p>アクセスし、左側のメニューから「新規」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120011-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8690" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120011-1-300x269.png" alt="" width="300" height="269" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120011-1-300x269.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120011-1-1024x917.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120011-1-768x688.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120011-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックするとプルダウンメニューが表示されますので、メニューの中から「その他」をクリックします。クリックすると、さらにプルダウンメニューが表示されますので、メニューの中から「Google Apps Script」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120225-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8691" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120225-1-300x148.png" alt="" width="300" height="148" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120225-1-300x148.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120225-1-1024x505.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120225-1-768x379.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-120225-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、Apps Scriptのプロジェクトの作成画面が表示されます。こちらの画面で、Web サイトをスクレイピングするスクリプトを作成していきます。</p>
<h2><span id="toc2">■Webサイトのデータを取得する</span></h2>
<p>作成後、Webサイトのデータを取得するスクリプトを書いていきます。</p>
<h3><span id="toc3">■コード</span></h3>
<pre>function scrapewebpage() {
  var newurl = "https://www.yahoo.co.jp/";
  var response = UrlFetchApp.fetch(weburl);
  Logger.log(response)
}</pre>
<p>今回は、newurl変数を宣言し、その中にデータを取得するサイトのURLを指定します。今回はYahoo!Japan（https://www.yahoo.co.jp/）を指定しています。指定後、格納します。</p>
<p>格納後、response変数を宣言し、UrlFetchApp.fetch()関数を使用し、GETリクエストを行います。UrlFetchApp.fetch()関数の括弧内に、引数,パラメーターとして、newurl変数を渡します。</p>
<p>その後、Logger.log()関数で、response変数のログを出力します。</p>
<h3><span id="toc4">■実行</span></h3>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121333-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8693" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121333-1-300x195.png" alt="" width="300" height="195" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121333-1-300x195.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121333-1-1024x664.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121333-1-768x498.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121333-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>スクリプトを実行する際は、プロジェクトの作成画面の「選択した機能を実行」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121511.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8694" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121511-300x151.png" alt="" width="300" height="151" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121511-300x151.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121511-768x387.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121511.png 780w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると「承認が必要です」というウインドウが表示されますので、ウインドウ内の「権限を確認」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121647-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8695" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121647-1-273x300.png" alt="" width="273" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121647-1-273x300.png 273w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121647-1-932x1024.png 932w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121647-1-768x844.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121647-1.png 1250w" sizes="(max-width: 273px) 100vw, 273px" /></a></p>
<p>クリックすると、ウインドウが表示されます。ウインドウ内には「Googleにログイン」と表示され「アカウントの選択」と表示されていますので、表示されたお持ちのアカウントを選択します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121838-1.png"><img loading="lazy" decoding="async" class="alignnone wp-image-8697 size-medium" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121838-1-270x300.png" alt="" width="270" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121838-1-270x300.png 270w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121838-1-920x1024.png 920w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121838-1-768x855.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-121838-1.png 1250w" sizes="(max-width: 270px) 100vw, 270px" /></a></p>
<p>選択すると、ウインドウ内に「このアプリは Google で確認されていません」という警告が表示されます。</p>
<blockquote><p>アプリが、Google アカウントのプライベートな情報へのアクセスを求めています。デベロッパー（&lt;メールアドレス&gt;）と Google によって確認されるまで、このアプリを使用しないでください。</p></blockquote>
<p>ウインドウ内には、上記のメッセージが表示されており、不安になりますが、ウインドウ内の「詳細」という文字をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122119-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8699" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122119-1-269x300.png" alt="" width="269" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122119-1-269x300.png 269w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122119-1-917x1024.png 917w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122119-1-768x858.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122119-1.png 1250w" sizes="(max-width: 269px) 100vw, 269px" /></a></p>
<p>クリックすると、ウインドウ内に追加で文章が表示されます。</p>
<blockquote><p>リスクを理解し、デベロッパー（&lt;メールアドレス&gt;）を信頼できる場合のみ、続行してください。</p></blockquote>
<p>追加された文章は上記になります。そして追加された文章の下に「無題のプロジェクト（安全ではないページ）に移動」という文字が表示されているので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122456-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8700" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122456-1-272x300.png" alt="" width="272" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122456-1-272x300.png 272w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122456-1-929x1024.png 929w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122456-1-768x847.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122456-1.png 1250w" sizes="(max-width: 272px) 100vw, 272px" /></a></p>
<p>クリックすると、ウインドウが表示され、「&lt;プロジェクト名&gt; が Google アカウントへのアクセスをリクエストしています」と表示されています。さらに「&lt;プロジェクト名&gt; に以下を許可します:」と表示されており、「外部サービスへの接続」が表示されています。</p>
<p>Webサイトのデータを取得するために、「外部サービスへの接続」を許可する必要がありますので、ウインドウ下の「許可」ボタンをクリックします。クリックすると、ウインドウが閉じます。</p>
<p>これで「外部サービスへの接続」許可を承認完了となります。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122850.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8701" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122850-300x101.png" alt="" width="300" height="101" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122850-300x101.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122850-1024x344.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122850-768x258.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-122850.png 1313w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>完了後、プロジェクトの作成画面の「実行ログ」に「このプロジェクトを実行するには、ご利用の Google アカウントへのアクアセスを許可する必要があります。再試行して、許可してください。」という警告が表示されていますが、再度「選択した機能を実行」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-123108.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8702" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-123108-300x153.png" alt="" width="300" height="153" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-123108-300x153.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-123108-1024x521.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-123108-768x390.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-30-123108.png 1184w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「実行ログ」に「実行開始」と表示され、GETリクエストが行われ、指定したWebサイトのデータを取得し、出力されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/google-apps-script-scraping-websites/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Googleノーコード開発ツール「AppSheet Automation」を無料で使用する</title>
		<link>https://laboratory.kazuuu.net/using-googles-no-code-development-tool-appsheet-automation-for-free/</link>
					<comments>https://laboratory.kazuuu.net/using-googles-no-code-development-tool-appsheet-automation-for-free/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Wed, 21 Apr 2021 01:00:35 +0000</pubDate>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[RPA/ロボティック・プロセス・オートメーション]]></category>
		<category><![CDATA[ノーコード]]></category>
		<category><![CDATA[自動化ツール]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=7700</guid>

					<description><![CDATA[Googleノーコード開発ツール「AppSheet Automation」を特定の期間であれば、無料で試用することができますので、実際に使用してみます。 なお、「AppSheet Automation」を利用する際はGo [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Googleノーコード開発ツール「AppSheet Automation」を<span style="background-color: #ff99cc;">特定の期間であれば、無料で試用することができます</span>ので、実際に使用してみます。</p>
<p>なお、「AppSheet Automation」を利用する際はGoogleアカウントが必要になります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-14" checked><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■AppSheetにアクセスする</a></li><li><a href="#toc2" tabindex="0">■サンプルアプリを使用する</a></li><li><a href="#toc3" tabindex="0">■アプリをデプロイ（利用できる状態）にする</a></li><li><a href="#toc4" tabindex="0">■PC（パソコン）上でサンプルアプリを使用する</a></li><li><a href="#toc5" tabindex="0">■スマートフォン（Android）からサンプルアプリを起動する</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■AppSheetにアクセスする</span></h2>
<p>まずはAppSheet（<a href="https://www.appsheet.com/">https://www.appsheet.com/</a>）にアクセスします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-080626-2.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7702" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-080626-2-300x259.png" alt="" width="300" height="259" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-080626-2-300x259.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-080626-2-1024x883.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-080626-2-768x662.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-080626-2.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>アクセスすると、「Start for free」ボタンがありますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-080813.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7703" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-080813-300x110.png" alt="" width="300" height="110" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-080813-300x110.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-080813-1024x377.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-080813-768x282.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-080813.png 1324w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Start with your data（データから始める）」と表示されたページが表示されます。AppSheetでは、ページ内に表示された好きなクラウドストレージプロバイダーを通じて接続しますので、今回は「Google Sheets and Forms」、「Excel on Office365」「Excel on Dropbox」、「Smartsheet 」、「Salesforce」、「Excel on Box」の中から「Google Sheets and Forms」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081150-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7704" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081150-1-247x300.png" alt="" width="247" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081150-1-247x300.png 247w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081150-1-843x1024.png 843w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081150-1-768x933.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081150-1.png 1250w" sizes="(max-width: 247px) 100vw, 247px" /></a></p>
<p>クリックすると、「Googleにログイン」という表示があらわれますので、お持ちのGoogleアカウントを選択します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081515-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7705" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081515-1-183x300.png" alt="" width="183" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081515-1-183x300.png 183w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081515-1-623x1024.png 623w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081515-1-768x1262.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081515-1-935x1536.png 935w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081515-1-1246x2048.png 1246w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081515-1.png 1250w" sizes="(max-width: 183px) 100vw, 183px" /></a></p>
<p>選択すると「AppSheet が Google アカウントへのアクセスをリクエストしています」と表示されますので、リクエストを許可するために「許可」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081722.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7706" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081722-300x140.png" alt="" width="300" height="140" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081722-300x140.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081722-1024x477.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081722-768x358.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-081722.png 1324w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「AppSheet FREE」と表示されたAppSheetのコンソール画面が表示されます。これで「AppSheet Automation」の無料版への登録は完了となります。</p>
<h2><span id="toc2">■サンプルアプリを使用する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085253-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7707" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085253-1-300x175.png" alt="" width="300" height="175" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085253-1-300x175.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085253-1-1024x598.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085253-1-768x448.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085253-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>完了後、AppSheetコンソール画面の上部にあるメニューから「Sample apps」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085501.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7708" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085501-300x114.png" alt="" width="300" height="114" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085501-300x114.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085501-1024x389.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085501-768x292.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085501.png 1291w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Copy and Customize Sample Apps（サンプルアプリのコピー＆カスタマイズ）」というページが表示されます。このページでは、すでに作成済みのサンプルアプリをライブラリ内から選び、使用することができます。</p>
<p>今回は、「To Do List（To Do リスト、タスク管理）」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085932-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7709" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085932-1-300x191.png" alt="" width="300" height="191" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085932-1-300x191.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085932-1-1024x650.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085932-1-768x488.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-085932-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「To Do List」の詳細ページへ移動します。ページ内の「Copy and Customize（コピー＆カスタマイズ）」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090139-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7710" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090139-1-300x246.png" alt="" width="300" height="246" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090139-1-300x246.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090139-1-1024x840.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090139-1-768x630.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090139-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Clone your App（アプリのクローン）」というウインドウが表示されます。ウインドウ内では「App name（アプリの名前）」と「Category（カテゴリー）」を入力、選択します。選択後、「Copy app（コピーアプリ）」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090406-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7711" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090406-1-300x198.png" alt="" width="300" height="198" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090406-1-300x198.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090406-1-1024x675.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090406-1-768x506.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090406-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、アプリのコピーが開始され、新しいアプリの作成が開始されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090517.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7712" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090517-300x147.png" alt="" width="300" height="147" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090517-300x147.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090517-1024x501.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090517-768x376.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090517.png 1146w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>しばらくすると、コピーされ新しく作成されたアプリのカスタマイズ（編集）画面が表示されます。ここで一旦、コンソール上のメニューから「My apps（あなたのアプリ）」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090755-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7713" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090755-1-300x252.png" alt="" width="300" height="252" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090755-1-300x252.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090755-1-1024x861.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090755-1-768x646.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-090755-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「My apps（あなたのアプリ）」のページが表示され、ページ内に「Prototype Apps（プロトタイプのアプリ）」の項目に「To Do List」が追加されていることが確認できます。</p>
<h2><span id="toc3">■アプリをデプロイ（利用できる状態）にする</span></h2>
<p>再び、「My apps（あなたのアプリ）」から「To Do List」をクリックして、カスタマイズ（編集）画面に戻ります。戻った後に、「To Do List」アプリをデプロイ（利用できる状態）してみます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091147-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7714" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091147-1-300x174.png" alt="" width="300" height="174" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091147-1-300x174.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091147-1-1024x593.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091147-1-768x445.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091147-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>カスタマイズ（編集）画面の左側メニューから「Manage（管理）」をクリックします。クリックすると「Manage（管理）」のページが表示されますので、この中で「Deploy（デプロイ）」をクリックします。クリックすると、「Deployment Check（デプロイメント・チェック）」という項目があるので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091435-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7715" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091435-1-300x95.png" alt="" width="300" height="95" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091435-1-300x95.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091435-1-1024x325.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091435-1-768x244.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091435-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Run deployment check（デプロイメントチェックの実行）」ボタンがありますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091638-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7716" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091638-1-300x161.png" alt="" width="300" height="161" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091638-1-300x161.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091638-1-1024x549.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091638-1-768x412.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-091638-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、デプロイする前にアプリのチェックが実行されます。実行後、チェックされた項目が表示されます。各項目には、「PASSED（合格）」、「WARNING（警告）」、「ERROR（エラー）」のマークが表示されますので、合格マークが表示されたもの以外の修正します。なお、各項目はクリックすると、なぜ警告、エラーが表示されたのかの原因が表示されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092143-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7717" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092143-1-300x92.png" alt="" width="300" height="92" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092143-1-300x92.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092143-1-1024x315.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092143-1-768x237.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092143-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>チェック項目が表示された下には「Move app to deployed state despite errors（エラーがあってもアプリをデプロイ状態にする）」ボタンと「Continue editing（編集を続ける）」ボタンがあります。今回はテストで「Move app to deployed state despite errors（エラーがあってもアプリをデプロイ状態にする）」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092427-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7718" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092427-1-300x109.png" alt="" width="300" height="109" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092427-1-300x109.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092427-1-1024x374.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092427-1-768x280.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092427-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Your app To Do List is deployed.（アプリのTo Do Listが展開されます。）」と表示されます。これでデプロイは完了となります。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092612-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7719" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092612-1-300x123.png" alt="" width="300" height="123" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092612-1-300x123.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092612-1-1024x419.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092612-1-768x314.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092612-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>完了となりますが、今回は無料版を利用していますので、カスタマイズ（編集）画面の左側メニューの「My account」に警告マークが表示されています。表示されていますので、確認のため、クリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092748.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7720" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092748-300x113.png" alt="" width="300" height="113" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092748-300x113.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092748-1024x387.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092748-768x290.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-092748.png 1260w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「My account」のページが表示されます。ページ内に下記のメッセージが表示されています。</p>
<blockquote><p>Plan upgrade needed — click to fix it!<br />
You should be on the AppSheet Starter secure plan. Please see the App Info pane for details. （プランのアップグレードが必要です &#8211; クリックして修正してください<br />
AppSheet Starterのセキュアなプランをご利用ください。詳細は「App Info」ペインを参照してください。）</p></blockquote>
<p>また、「ToDoList-3149838: User signin not allowed with the FREE plan, ToDoList-3149838: Offline access not allowed with the FREE plan（ToDoList-3149838：FREEプランでユーザーサインインができない、ToDoList-3149838：FREEプランでオフラインアクセスができない）」と表示されています。デプロイは完了していますが、無料版ではユーザーサインインとオフラインアクセスができない。これを可能にするには、<a href="https://solutions.appsheet.com/pricing">料金プランを変更する（アップグレードする）。</a></p>
<h2><span id="toc4">■PC（パソコン）上でサンプルアプリを使用する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094215.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7724" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094215-300x128.png" alt="" width="300" height="128" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094215-300x128.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094215-1024x437.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094215-768x328.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094215.png 1263w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>デプロイ後、PC（パソコン）上でサンプルアプリを使用してみます。その場合は、「My account」のページで、今回作成したサンプルアプリの名前が表示されています。その左側にコメントのマークがありますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094429.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7725" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094429-300x159.png" alt="" width="300" height="159" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094429-300x159.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094429-1024x543.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094429-768x408.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094429.png 1366w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「ToDoList」アプリが起動し表示されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094632-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7726" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094632-1-300x114.png" alt="" width="300" height="114" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094632-1-300x114.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094632-1-1024x388.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094632-1-768x291.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094632-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>起動後、タスクを追加してみますので、追加ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094603-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7727" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094603-1-300x231.png" alt="" width="300" height="231" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094603-1-300x231.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094603-1-1024x787.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094603-1-768x590.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094603-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、タスクの詳細を記入・選択する画面が表示されますので、各項目を記入・選択します。その後「Save」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094924.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7728" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094924-300x125.png" alt="" width="300" height="125" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094924-300x125.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094924-1024x425.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094924-768x319.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-094924.png 1366w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「ToDoList」アプリにタスクが追加されました。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095052-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7729" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095052-1-300x188.png" alt="" width="300" height="188" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095052-1-300x188.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095052-1-1024x640.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095052-1-768x480.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095052-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095113-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7730" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095113-1-300x255.png" alt="" width="300" height="255" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095113-1-300x255.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095113-1-1024x869.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095113-1-768x652.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095113-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095352-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7731" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095352-1-300x179.png" alt="" width="300" height="179" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095352-1-300x179.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095352-1-1024x610.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095352-1-768x457.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095352-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>追加後、このアプリを<em>ハンバーガーメニューをクリックしログアウトするか、もしくはブラウザのアプリ画面を閉じます。</em></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095503-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7732" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095503-1-300x239.png" alt="" width="300" height="239" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095503-1-300x239.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095503-1-1024x816.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095503-1-768x612.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095503-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095527-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7733" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095527-1-261x300.png" alt="" width="261" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095527-1-261x300.png 261w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095527-1-890x1024.png 890w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095527-1-768x884.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095527-1.png 1250w" sizes="(max-width: 261px) 100vw, 261px" /></a></p>
<p>閉じた後、再び「AppSheet」にログインし、「ToDoList」アプリを起動します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095759.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7734" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095759-300x120.png" alt="" width="300" height="120" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095759-300x120.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095759-1024x409.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095759-768x306.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-095759.png 1366w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>起動してみると、先ほど追加したタスクは削除されずにアプリに保存されていることが確認できました。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-152353-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7797" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-152353-1-262x300.png" alt="" width="262" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-152353-1-262x300.png 262w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-152353-1-896x1024.png 896w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-152353-1-768x878.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-152353-1.png 1250w" sizes="(max-width: 262px) 100vw, 262px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-152556.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7798" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-152556-300x114.png" alt="" width="300" height="114" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-152556-300x114.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-152556-1024x391.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-152556-768x293.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-21-152556.png 1308w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>なお、お持ちのGoogleアカウントのGoogleドライブを確認すると、「To Do」というGoogleスプレッドシートを作成されてます。スプレッドシートを確認すると、「ToDoList」アプリのタスクが保存されていることが確認できます。</p>
<h2><span id="toc5">■スマートフォン（Android）からサンプルアプリを起動する</span></h2>
<p>スマートフォン（Android）からサンプルアプリを起動してみます。スマートフォン（Android）は「Moto g8 power（Android バージョン10）」を使用します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101328.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7738" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101328-141x300.png" alt="" width="141" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101328-141x300.png 141w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101328-481x1024.png 481w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101328.png 721w" sizes="(max-width: 141px) 100vw, 141px" /></a></p>
<p>「Play ストア」アプリを起動し、「検索」をタップします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101336.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7740" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101336-141x300.png" alt="" width="141" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101336-141x300.png 141w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101336-481x1024.png 481w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101336.png 721w" sizes="(max-width: 141px) 100vw, 141px" /></a></p>
<p>「AppSheet」と検索すると、「AppSheet」アプリが表示されますので、「インストール」ボタンをタップします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101356.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7741" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101356-141x300.png" alt="" width="141" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101356-141x300.png 141w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101356-481x1024.png 481w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101356.png 721w" sizes="(max-width: 141px) 100vw, 141px" /></a></p>
<p>タップしてしばらくするとインストールが完了し、「開く」ボタンが表示されますので、タップします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101408.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7742" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101408-141x300.png" alt="" width="141" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101408-141x300.png 141w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101408-481x1024.png 481w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101408.png 721w" sizes="(max-width: 141px) 100vw, 141px" /></a></p>
<p>タップすると、アプリが起動し、サインイン画面が表示されます。画面内の今回はGoogleを選択します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101418.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7743" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101418-141x300.png" alt="" width="141" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101418-141x300.png 141w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101418-481x1024.png 481w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101418.png 721w" sizes="(max-width: 141px) 100vw, 141px" /></a></p>
<p>選択すると、アカウントの選択画面が表示されますので、サンプルアプリを作成したアカウントを選択します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101505.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7744" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101505-141x300.png" alt="" width="141" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101505-141x300.png 141w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101505-481x1024.png 481w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101505.png 721w" sizes="(max-width: 141px) 100vw, 141px" /></a></p>
<p>選択すると、アプリが起動します。起動後、ハンバーガーメニューをタップします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101522.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7746" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101522-141x300.png" alt="" width="141" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101522-141x300.png 141w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101522-481x1024.png 481w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101522.png 721w" sizes="(max-width: 141px) 100vw, 141px" /></a></p>
<p>タップすると、メニューが表示されますので「Created by me」をタップします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101528.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7747" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101528-141x300.png" alt="" width="141" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101528-141x300.png 141w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101528-481x1024.png 481w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101528.png 721w" sizes="(max-width: 141px) 100vw, 141px" /></a></p>
<p>タップすると、PC（パソコン）上で作成した「ToDoList」アプリが表示されますので、タップします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101538.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7748" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101538-141x300.png" alt="" width="141" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101538-141x300.png 141w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101538-481x1024.png 481w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101538-768x1636.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101538-721x1536.png 721w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101538-962x2048.png 962w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/Screenshot_20210421-101538.png 1250w" sizes="(max-width: 141px) 100vw, 141px" /></a></p>
<p>タップすると、「ToDoList」アプリが起動し、表示されます。なお、PC（パソコン）上で追加したタスクはクラウド上で保存されていますので、スマートフォンから「ToDoList」アプリを起動しても、追加したタスクは表示されます。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/using-googles-no-code-development-tool-appsheet-automation-for-free/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Firebase Realtime Databaseを使用しデータベース作成しデータを登録する</title>
		<link>https://laboratory.kazuuu.net/using-firebase-realtime-database-to-create-a-database-and-register-data/</link>
					<comments>https://laboratory.kazuuu.net/using-firebase-realtime-database-to-create-a-database-and-register-data/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Tue, 20 Apr 2021 05:42:31 +0000</pubDate>
				<category><![CDATA[Firebase(ファイアベース)]]></category>
		<category><![CDATA[Google]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=7648</guid>

					<description><![CDATA[Firebase Realtime Databaseを使用し、データベース作成しデータを登録するまでを解説しています。 目次 ■PC環境■Firebase Realtime Databaseの設定■Firebaseコンソ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Firebase Realtime Databaseを使用し、データベース作成しデータを登録するまでを解説しています。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-16" checked><label class="toc-title" for="toc-checkbox-16">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■Firebase Realtime Databaseの設定</a></li><li><a href="#toc3" tabindex="0">■Firebaseコンソールでデータベースを作成する</a></li><li><a href="#toc4" tabindex="0">■ウェブアプリにFirebaseを追加する</a></li><li><a href="#toc5" tabindex="0">■ウェブアプリを作成する</a><ol><li><a href="#toc6" tabindex="0">■index.html</a></li><li><a href="#toc7" tabindex="0">■functions.js</a></li></ol></li><li><a href="#toc8" tabindex="0">■Firebase SDK snippetを追加する</a><ol><li><a href="#toc9" tabindex="0">■index.html</a></li></ol></li><li><a href="#toc10" tabindex="0">■プロジェクトをローカルで起動する</a></li><li><a href="#toc11" tabindex="0">■Firebase Realtime Databasにデータを保存する（検証）</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>Windows10</p>
<p>firebase cli 9.10.0</p>
<p>Visual Studio Code 1.55.0</p>
<h2><span id="toc2">■Firebase Realtime Databaseの設定</span></h2>
<p>まず、Firebase Realtime Databaseの設定を行いますので、Googleアカウントを取得（登録）した後に、「<a href="http://Firebase - Google">Firebase &#8211; Google</a>」にアクセスします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-091839-2.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7650" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-091839-2-300x163.png" alt="" width="300" height="163" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-091839-2-300x163.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-091839-2-1024x558.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-091839-2-768x418.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-091839-2.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>アクセスすると、「使ってみる」というボタンがありますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-092055-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7651" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-092055-1-300x156.png" alt="" width="300" height="156" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-092055-1-300x156.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-092055-1-1024x531.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-092055-1-768x398.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-092055-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Firebaseへようこそ」と表示されます。ページ内の「プロジェクトを作成」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-092252-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7652" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-092252-1-300x256.png" alt="" width="300" height="256" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-092252-1-300x256.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-092252-1-1024x872.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-092252-1-768x654.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-092252-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「プロジェクトの作成」のページが表示されますので、「プロジェクト名」でプロジェクトの名前を入力します。その後、「Firebase の規約に同意します」でFirebase の規約を確認し、チェックボックスにチェックを入れます。入れた後に「続行」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-093530-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7653" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-093530-1-300x222.png" alt="" width="300" height="222" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-093530-1-300x222.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-093530-1-1024x756.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-093530-1-768x567.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-093530-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Google アナリティクス （Firebase プロジェクト向け）」を有効にするかどうかを設定するページが表示されます。今回は「このプロジェクトで Google アナリティクスを有効にする」と設定し、「続行」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-093755-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7654" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-093755-1-300x247.png" alt="" width="300" height="247" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-093755-1-300x247.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-093755-1-1024x844.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-093755-1-768x633.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-093755-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Googleアナリティクスの構成」ページが表示されますので、「アナリティクスの地域」を「日本」に設定し、Google アナリティクス利用規約を読み、「Google アナリティクス利用規約に同意します。」のチェックボックスにチェックを入れます。その後、「プロジェクトを作成」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094026-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7655" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094026-1-300x210.png" alt="" width="300" height="210" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094026-1-300x210.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094026-1-1024x718.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094026-1-768x538.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094026-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、プロジェクトの作成が開始されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094112-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7656" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094112-1-300x268.png" alt="" width="300" height="268" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094112-1-300x268.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094112-1-1024x915.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094112-1-768x686.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094112-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>しばらくすると、「新しいプロジェクトの準備ができました」と表示されますので、「続行」ボタンをクリックします。</p>
<h2><span id="toc3">■Firebaseコンソールでデータベースを作成する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094327-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7657" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094327-1-300x195.png" alt="" width="300" height="195" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094327-1-300x195.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094327-1-1024x665.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094327-1-768x499.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094327-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、プロジェクトの作成が完了します。完了後、Firebaseコンソールの左側に「構築」という項目がありますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094604-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7658" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094604-1-177x300.png" alt="" width="177" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094604-1-177x300.png 177w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094604-1-604x1024.png 604w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094604-1-768x1301.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094604-1-907x1536.png 907w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094604-1-1209x2048.png 1209w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094604-1.png 1250w" sizes="(max-width: 177px) 100vw, 177px" /></a></p>
<p>クリックすると、プルダウンメニューが表示されますので、「Realtime Database」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094813-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7659" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094813-1-300x168.png" alt="" width="300" height="168" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094813-1-300x168.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094813-1-1024x573.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094813-1-768x429.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094813-1-120x68.png 120w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094813-1-160x90.png 160w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094813-1-320x180.png 320w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094813-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Realtime Database」のページが表示されます。ページ内の「データベースを作成」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094948-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7660" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094948-1-300x146.png" alt="" width="300" height="146" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094948-1-300x146.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094948-1-1024x499.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094948-1-768x374.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-094948-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「データベースの設定」というウインドウが表示されます。ウインドウ内では、まず「データベースのオプション」が表示されますので、今回は「Realtime Database のロケーション」で「米国」を選択し、「次へ」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095222-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7661" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095222-1-300x192.png" alt="" width="300" height="192" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095222-1-300x192.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095222-1-1024x657.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095222-1-768x493.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095222-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「セキュリティ ルール」が表示されます。「セキュリティ ルール」では、「ロックモードで開始」か「テストモードで開始」のいずれか選択します。今回は「テストモードで開始」を選択し、「有効にする」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095504-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7662" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095504-1-300x154.png" alt="" width="300" height="154" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095504-1-300x154.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095504-1-1024x524.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095504-1-768x393.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095504-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、データベースの作成が開始されます。その後、表示されます。これでデータベースの作成は完了です。</p>
<h2><span id="toc4">■ウェブアプリにFirebaseを追加する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095836-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7663" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095836-1-300x189.png" alt="" width="300" height="189" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095836-1-300x189.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095836-1-1024x644.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095836-1-768x483.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-095836-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>次にウェブアプリにFirebaseを追加しますので、「プロジェクトの概要」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100000-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7664" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100000-1-300x198.png" alt="" width="300" height="198" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100000-1-300x198.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100000-1-1024x676.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100000-1-768x507.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100000-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>「プロジェクトの概要」が表示されますので、概要から「ウェブ」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100233-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7665" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100233-1-300x171.png" alt="" width="300" height="171" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100233-1-300x171.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100233-1-1024x582.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100233-1-768x437.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100233-1-120x68.png 120w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100233-1-160x90.png 160w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100233-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「ウェブアプリにFirebaseを追加する」と表示されますので、「アプリの登録」で「アプリのニックネーム」でニックネームを入力します。入力後、「アプリを登録」ボタンをクリックします。なお、「このアプリのFirebaseHostingも設定します。」にはチェックを入れません。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100541-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7666" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100541-1-295x300.png" alt="" width="295" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100541-1-295x300.png 295w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100541-1-1005x1024.png 1005w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100541-1-768x782.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-100541-1.png 1250w" sizes="(max-width: 295px) 100vw, 295px" /></a></p>
<p>クリックすると、「Firebase SDK の追加」が表示されます。表示後、「コンソールに進む」ボタンをクリックします。</p>
<p>クリックすると、「プロジェクトの概要」に戻ります。</p>
<h2><span id="toc5">■ウェブアプリを作成する</span></h2>
<p>戻った後、Windows10のデスクトップ上に、「firebase_realtime_database」というフォルダを作成し、コードエディタ（Visual Studio Code）を開きます。</p>
<p>Firebase Realtime Databaseを使用し、データベース作成を行い、データの登録を行いますが、データを入力し送信するために、今回は簡易のウェブアプリを作成します。</p>
<h3><span id="toc6">■index.html</span></h3>
<pre><code>&lt;!DOCTYPE html&gt;
&lt;html lang="ja"&gt;
    &lt;head&gt;
        &lt;meta charset="UTF-8"&gt;
        &lt;title&gt;Firebase Realtime Databaseのテスト&lt;/title&gt;
        &lt;meta name="description" content="ディスクリプション"&gt;
        &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;main&gt;
            &lt;form&gt;
                &lt;label for="userid"&gt;ユーザーID&lt;/label&gt;&lt;br&gt;
                &lt;input type="text" name="userid" id="userid"&gt;&lt;br&gt;
                &lt;label for="firstname"&gt;苗字&lt;/label&gt;&lt;br&gt;
                &lt;input type="text" name="firstname" id="firstname"&gt;&lt;br&gt;
                &lt;label for="lastname"&gt;名前&lt;/label&gt;&lt;br&gt;
                &lt;input type="text" name="lastname" id="lastname"&gt;&lt;br&gt;    
                &lt;button id="addbtn"&gt;追加&lt;/button&gt;                            
            &lt;/form&gt;
        &lt;/main&gt;
&lt;script src="./functions.js"&gt;&lt;/script&gt;
    &lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h3><span id="toc7">■functions.js</span></h3>
<pre><code>const userid = document.getElementById('userid');
const firstname = document.getElementById('firstname');
const lastname = document.getElementById('lastname');
const addbtn = document.getElementById('addbtn');

const database = firebase.database();

addbtn.addEventListener('click',(e) =&gt; {
    e.preventDefault();
    database.ref('/users/'+ userid.value).set({
        first_name: firstname.value,
        last_name: lastname.value,
    });
});</code></pre>
<p>コードエディタ（Visual Studio Code）上で「firebase_realtime_database」の中に、今回は「index.html」と「functions.js」という2つのファイルを作成し、保存します。</p>
<h2><span id="toc8">■Firebase SDK snippetを追加する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121246-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7667" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121246-1-300x256.png" alt="" width="300" height="256" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121246-1-300x256.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121246-1-1024x874.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121246-1-768x656.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121246-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>保存後、Firebaseコンソールの左側に「プロジェクトの概要」で歯車のマークがありますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121421-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7668" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121421-1-265x300.png" alt="" width="265" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121421-1-265x300.png 265w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121421-1-903x1024.png 903w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121421-1-768x871.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121421-1.png 1250w" sizes="(max-width: 265px) 100vw, 265px" /></a></p>
<p>クリックすると、メニューが表示されますので「プロジェクトを設定」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121617-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7669" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121617-1-300x177.png" alt="" width="300" height="177" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121617-1-300x177.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121617-1-1024x603.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121617-1-768x452.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-121617-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Firebase SDK snippet」という項目がありますので、「CDN」になっていることを確認し、表示されたのスクリプトをコピーします。</p>
<h3><span id="toc9">■index.html</span></h3>
<pre><code>&lt;!DOCTYPE html&gt;
&lt;html lang="ja"&gt;
    &lt;head&gt;
        &lt;meta charset="UTF-8"&gt;
        &lt;title&gt;Firebase Realtime Databaseのテスト&lt;/title&gt;
        &lt;meta name="description" content="ディスクリプション"&gt;
        &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;main&gt;
            &lt;form&gt;
                &lt;label for="userid"&gt;ユーザーID&lt;/label&gt;&lt;br&gt;
                &lt;input type="text" name="userid" id="userid"&gt;&lt;br&gt;
                &lt;label for="firstname"&gt;苗字&lt;/label&gt;&lt;br&gt;
                &lt;input type="text" name="firstname" id="firstname"&gt;&lt;br&gt;
                &lt;label for="lastname"&gt;名前&lt;/label&gt;&lt;br&gt;
                &lt;input type="text" name="lastname" id="lastname"&gt;&lt;br&gt;    
                &lt;button id="addbtn"&gt;追加&lt;/button&gt;                            
            &lt;/form&gt;
        &lt;/main&gt;
        &lt;!-- The core Firebase JS SDK is always required and must be listed first --&gt;
&lt;script src="https://www.gstatic.com/firebasejs/8.4.1/firebase-app.js"&gt;&lt;/script&gt;
&lt;script src="https://www.gstatic.com/firebasejs/8.4.1/firebase-database.js"&gt;&lt;/script&gt;
&lt;!-- TODO: Add SDKs for Firebase products that you want to use
     https://firebase.google.com/docs/web/setup#available-libraries --&gt;
&lt;script src="https://www.gstatic.com/firebasejs/8.4.1/firebase-analytics.js"&gt;&lt;/script&gt;

&lt;script&gt;
  // Your web app's Firebase configuration
  // For Firebase JS SDK v7.20.0 and later, measurementId is optional
  var firebaseConfig = {
    apiKey: "******",
    authDomain: "******",
    databaseURL: "******",
    projectId: "******",
    storageBucket: "******",
    messagingSenderId: "******",
    appId: "******",
    measurementId: "******"
  };
  // Initialize Firebase
  firebase.initializeApp(firebaseConfig);
  firebase.analytics();
&lt;/script&gt;
&lt;script src="./functions.js"&gt;&lt;/script&gt;
    &lt;/body&gt;
&lt;/html&gt;</code></pre>
<p>コピー後、「firebase_realtime_database」のindex.htmlに貼り付けます。この時に「&lt;script src=&#8221;./functions.js&#8221;&gt;&lt;/script&gt;」のタグより上に「&lt;script src=&#8221;https://www.gstatic.com/firebasejs/8.4.1/firebase-app.js&#8221;&gt;&lt;/script&gt;」などのタグを貼り付けます。これでfirebase.jsを先に読み込ませることができます。先に読み込ませないと、「ReferenceError: firebase is not defined」というエラーが発生しますので、注意が必要です。</p>
<p>貼り付けた後、「&lt;script src=&#8221;https://www.gstatic.com/firebasejs/8.4.1/firebase-app.js&#8221;&gt;&lt;/script&gt;」の直下に「&lt;script src=&#8221;https://www.gstatic.com/firebasejs/8.4.1/firebase-database.js&#8221;&gt;&lt;/script&gt;」のタグを追加しておきます。追加後、保存します。</p>
<h2><span id="toc10">■プロジェクトをローカルで起動する</span></h2>
<p>保存後、「firebase_realtime_database」を、今回は「C:\Users\Administrator」という場所に移動しておきます。</p>
<p>移動後、<a href="https://firebase.google.com/docs/cli?hl=ja">Firebase CLIのインストール</a>が完了している状態で、Windows10の「ここに入力して検索」で「cmd」を入力し、コマンドプロンプトを起動します。</p>
<pre>C:\Users\Administrator&gt;cd firebase_realtime_database</pre>
<p>起動後、上記のコマンドを入力し、エンターキーを押します。「firebase_realtime_database」に移動します。</p>
<pre>C:\Users\Administrator\firebase_realtime_database&gt;firebase login</pre>
<p>移動後、上記のコマンドを入力し、エンターキーを押します。</p>
<blockquote><p>Allow Firebase to collect CLI usage and error reporting information? (Y/n)（ FirebaseがCLIの使用状況やエラー報告情報を収集することを許可しますか？(Y/n)）</p></blockquote>
<p>エンターキーを押すと、上記の質問が表示されますので、「Y」と入力しエンターキーを押します。</p>
<blockquote><p>Visit this URL on this device to log in:<br />

<a rel="noopener" href="https://accounts.google.com/o/oauth2/auth?client_id=" title="&#12525;&#12464;&#12452;&#12531; - Google &#12450;&#12459;&#12454;&#12531;&#12488;" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Faccounts.google.com%2Fo%2Foauth2%2Fauth%3Fclient_id%3D?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">&#12525;&#12464;&#12452;&#12531; - Google &#12450;&#12459;&#12454;&#12531;&#12488;</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://accounts.google.com/o/oauth2/auth?client_id=" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">accounts.google.com</div></div></div></div></a>〇〇</p></blockquote>
<p>エンターキーを押すと、上記のメッセージが表示され、Webブラウザが起動します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125113.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7671" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125113-259x300.png" alt="" width="259" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125113-259x300.png 259w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125113-883x1024.png 883w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125113-768x891.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125113.png 1250w" sizes="(max-width: 259px) 100vw, 259px" /></a></p>
<p>起動後、上記の「Googleにログイン」という表示がされますので、Firebaseでデータベース作成を行ったアカウントを選択します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125644.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7673" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125644-179x300.png" alt="" width="179" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125644-179x300.png 179w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125644-610x1024.png 610w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125644-768x1290.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125644-915x1536.png 915w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125644-1220x2048.png 1220w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125644.png 1250w" sizes="(max-width: 179px) 100vw, 179px" /></a></p>
<p>選択すると、「Firebase CLI が Google アカウントへのアクセスをリクエストしています」と表示されますので、許可するために「許可」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125858.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7674" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125858-300x167.png" alt="" width="300" height="167" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125858-300x167.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125858-1024x569.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125858-768x427.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125858-120x68.png 120w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125858-160x90.png 160w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-125858.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<blockquote><p>Firebase CLI Login Successful</p>
<p>You are logged in to the Firebase Command-Line interface. You can immediately close this window and continue using the CLI.(Firebase Command-Line インターフェイスにログインしています。このウィンドウをすぐに閉じて、CLIの使用を続けることができます。)</p></blockquote>
<p>クリックすると、Webブラウザに上記のメッセージが表示されます。またコマンドプロンプトでは「Success! Logged in as 〇〇〇〇@gmail.com」と表示されます。これでFirebaseへのログインは完了となります。</p>
<pre>C:\Users\Administrator\firebase_realtime_database&gt;firebase init</pre>
<p>ログイン後、上記のコマンドを入力し、エンターキーを押します。これでFirebase プロジェクトを初期化します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-134557.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7676" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-134557-300x106.png" alt="" width="300" height="106" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-134557-300x106.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-134557-1024x363.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-134557-768x272.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-134557.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>エンターキーを押すと、「Firebase」と表示され、「Are you ready to proceed? (Y/n)続行する準備はできていますか？(Y/n)」と質問されますので、「Y」を入力し、エンターキーを押します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-134809.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7678" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-134809-300x62.png" alt="" width="300" height="62" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-134809-300x62.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-134809-1024x212.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-134809-768x159.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-134809.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>エンターキーを押すと、「Which Firebase CLI features do you want to set up for this folder? （このフォルダにどのFirebaseCLI機能を設定しますか？）」と質問されますので、「Hosting: Configure and deploy Firebase Hosting sites」をスペースキーで選択しエンターキーを押します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135101.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7681" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135101-300x74.png" alt="" width="300" height="74" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135101-300x74.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135101-1024x251.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135101-768x189.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135101.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>エンターキーを押すと、「Please select an option: (Use arrow keys)（選択してください。(矢印キーを使用)）」と表示されますので、「Use an existing project（既存のプロジェクトの利用）」を選択し、エンターキーを押します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135259.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7682" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135259-300x39.png" alt="" width="300" height="39" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135259-300x39.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135259-1024x132.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135259-768x99.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135259.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>エンターキーを押すと、今回Firebaseで作成したプロジェクトの名前が表示されますので、選択し、エンターキーを押します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135504.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7683" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135504-300x71.png" alt="" width="300" height="71" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135504-300x71.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135504-1024x242.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135504-768x181.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-135504.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<blockquote><p>=== Hosting Setup</p>
<p>Your public directory is the folder (relative to your project directory) that<br />
will contain Hosting assets to be uploaded with firebase deploy. If you<br />
have a build process for your assets, use your build&#8217;s output directory.（パブリックディレクトリは、Firebase deployでアップロードするホスティングアセットを格納するフォルダ（プロジェクトディレクトリからの相対パス）です。<br />
firebase deployでアップロードするホスティングアセットを格納します。もし<br />
アセットのビルドプロセスを行っている場合は、ビルドの出力ディレクトリを使用します。）</p></blockquote>
<p>エンターキーを押すと、上記のメッセージが表示され、「パブリック・ディレクトリには何を使いますか？」と質問されますので、そのままエンターキーを押します。</p>
<p>エンターキーを押すと「Configure as a single-page app (rewrite all urls to /index.html)? (y/N)（シングルページアプリとして構成しますか）」と質問されますので、「y」と入力しエンターキーを押します。</p>
<p>エンターキーを押すと「 Set up automatic builds and deploys with GitHub? (y/N)（GitHubで自動ビルドとデプロイを設定するには？）」と質問されますので、「N」と入力しエンターキーを押します。</p>
<p>エンターキーを押すと「public/index.htmlというファイルがすでに存在しています。上書きしますか？」と質問されますので、「y」と入力しエンターキーを押します。</p>
<blockquote><p>i Writing configuration info to firebase.json&#8230;<br />
i Writing project information to .firebaserc&#8230;<br />
i Writing gitignore file to .gitignore&#8230;</p>
<p>+ Firebase initialization complete!</p></blockquote>
<p>エンターキーを押すと、「Firebase initialization complete!（Firebaseの初期化が完了しました。）」と表示されます。これで初期化は完了となります。</p>
<pre>C:\Users\Administrator\firebase_realtime_database&gt;firebase serve</pre>
<p>完了後、Firebase プロジェクトをローカルで実行するために、上記のコマンドを入力し、エンターキーを押します。</p>
<blockquote><p>=== Serving from &#8216;C:\Users\Administrator\firebase_realtime_database&#8217;&#8230;</p>
<p>i hosting: Serving hosting files from: public<br />
+ hosting: Local server: http://localhost:5000</p></blockquote>
<p>エンターキーを押すと、ローカルサーバーが起動します。</p>
<h2><span id="toc11">■Firebase Realtime Databasにデータを保存する（検証）</span></h2>
<p>起動後、Webブラウザを起動し、アドレスバーに「http://localhost:5000/」を入力し、アクセスします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-140703.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7684" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-140703-300x148.png" alt="" width="300" height="148" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-140703-300x148.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-140703-1024x505.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-140703-768x379.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-140703.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<blockquote><p>Welcome<br />
Firebase Hosting Setup Complete<br />
You&#8217;re seeing this because you&#8217;ve successfully setup Firebase Hosting. Now it&#8217;s time to go build something extraordinary!（ようこそ<br />
Firebase ホスティング設定完了<br />
Firebase ホスティングのセットアップが完了しましたのでご紹介します。いよいよ、素晴らしいものを作りましょう。）</p></blockquote>
<p>アクセスすると、上記のように表示されます。</p>
<p>表示後、「C:\Users\Administrator\firebase_realtime_database」フォルダを確認します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-140937.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7686" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-140937-300x171.png" alt="" width="300" height="171" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-140937-300x171.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-140937-1024x583.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-140937-768x437.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-140937-120x68.png 120w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-140937-160x90.png 160w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-140937.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>確認すると、「public」というフォルダが作成されています。これが先ほど「http://localhost:5000/」をアクセスしたときに確認できたindex.htmlが保存されているフォルダになります。</p>
<p>今回は検証で、「index.html」と「functions.js」をコピーして、「public」というフォルダにコピーしたファイルを移動します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-141932.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7687" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-141932-300x204.png" alt="" width="300" height="204" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-141932-300x204.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-141932-1024x696.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-141932-768x522.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-141932.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>移動後、「http://localhost:5000/」に再びアクセスすると、入力フォームが表示されますので、仮でユーザーIDと苗字、名前を入力し、「追加」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142157.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7688" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142157-300x210.png" alt="" width="300" height="210" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142157-300x210.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142157-1024x718.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142157-768x538.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142157.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックした後に、Firebaseコンソールの「Realtime Database」を確認すると、送信されたデータがRealtime Databaseに登録されていることが確認できました。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142545.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7690" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142545-300x204.png" alt="" width="300" height="204" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142545-300x204.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142545-1024x697.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142545-768x523.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142545.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>なお、送信されたデータが登録できない、もしくはデータベースが更新されない場合は、Firebaseコンソールの「Realtime Database」の「ルール」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142756.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7691" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142756-300x144.png" alt="" width="300" height="144" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142756-300x144.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142756-1024x493.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142756-768x370.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142756.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、上記のようなルールになっています。これを下記のように変更します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142929.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7692" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142929-300x146.png" alt="" width="300" height="146" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142929-300x146.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142929-1024x498.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142929-768x374.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-20-142929.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>これでルールを保存すると、データが登録できるようになります。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/using-firebase-realtime-database-to-create-a-database-and-register-data/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Google Cloud Platformを解約・利用停止する（無料トライアルの終了）</title>
		<link>https://laboratory.kazuuu.net/google-cloud-platform-free-trial-ends-cancels-or-cancels/</link>
					<comments>https://laboratory.kazuuu.net/google-cloud-platform-free-trial-ends-cancels-or-cancels/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Tue, 02 Mar 2021 06:09:51 +0000</pubDate>
				<category><![CDATA[Google]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=6614</guid>

					<description><![CDATA[Google Cloud Platformの無料トライアルが終了するので解約・利用停止してみます。 ※この手順を行うまえに、プロジェクトの「課金を無効にする」（https://cloud.google.com/billi [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Google Cloud Platformの無料トライアルが終了するので解約・利用停止してみます。</p>
<p>※この手順を行うまえに、プロジェクトの「課金を無効にする」（<a href="https://cloud.google.com/billing/docs/how-to/modify-project#disable_billing_for_a_project">https://cloud.google.com/billing/docs/how-to/modify-project#disable_billing_for_a_project</a>）ことを行っておくことを推奨します。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-18" checked><label class="toc-title" for="toc-checkbox-18">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■Google Cloud Platformにアクセスする</a></li><li><a href="#toc2" tabindex="0">■お支払いから請求先アカウントの閉鎖をする</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■Google Cloud Platformにアクセスする</span></h2>
<p>まずはお持ちのGoogleアカウントでログインし、Google Cloud Platform（<a href="https://console.cloud.google.com/home/dashboard">https://console.cloud.google.com/home/dashboard</a>）にアクセスします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-144620-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-6615" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-144620-1-300x202.png" alt="" width="300" height="202" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-144620-1-300x202.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-144620-1-1024x688.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-144620-1-768x516.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-144620-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>アクセスすると、ダッシュボードが表示されます。ダッシュボード内の左側にある「ナビゲーションメニュー」ボタンをクリックします。</p>
<h2><span id="toc2">■お支払いから請求先アカウントの閉鎖をする</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-144849-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-6616" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-144849-1-255x300.png" alt="" width="255" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-144849-1-255x300.png 255w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-144849-1-870x1024.png 870w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-144849-1-768x904.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-144849-1.png 1250w" sizes="(max-width: 255px) 100vw, 255px" /></a></p>
<p>クリックすると、メニューが表示されます。このメニュー内の「お支払い」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145014.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-6617" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145014-300x120.png" alt="" width="300" height="120" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145014-300x120.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145014-1024x410.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145014-768x308.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145014.png 1341w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「お支払い」の「概要」が表示されます。「概要」内の「請求先アカウント」という項目の右側に「管理」という表示がありますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145234.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-6618" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145234-300x120.png" alt="" width="300" height="120" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145234-300x120.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145234-1024x410.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145234-768x308.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145234.png 1356w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「アカウント管理」の「お支払い」が表示されます。「アカウント管理」内の上部に表示されている「請求先アカウントを閉鎖」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145506-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-6619" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145506-1-279x300.png" alt="" width="279" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145506-1-279x300.png 279w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145506-1-951x1024.png 951w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145506-1-768x827.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145506-1.png 1250w" sizes="(max-width: 279px) 100vw, 279px" /></a></p>
<p>クリックすると、「請求先アカウント「請求先アカウント」の閉鎖「請求先アカウント」を閉鎖する前に、次の点に留意する必要」というポップアップが表示されます。</p>
<p>ポップアップ内の「「閉じる」と入力して閉鎖」と表示されている欄に「閉じる」と入力します。</p>
<p>入力後、ポップアップ下の「請求先アカウントを閉鎖」がクリックできるようになりますので、クリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145842-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-6620" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145842-1-300x175.png" alt="" width="300" height="175" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145842-1-300x175.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145842-1-1024x599.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145842-1-768x449.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/03/スクリーンショット-2021-03-02-145842-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「アカウント管理」内に「この請求先アカウントは閉鎖されています。リンクされているプロジェクトを引き続き使用するには、このアカウントを再開してください。」と表示されます。</p>
<p>これで<span style="background-color: #ff99cc;">請求先アカウントが閉鎖されましたので、料金を請求されることはありません。つまり、Google Cloud Platformの「サービスを解約」したことになります。サービスを解約しましたが、Googleアカウントは削除されません。</span></p>
<p>なお、<span style="background-color: #ff99cc;">請求先として設定した情報は削除できません。また、<a href="https://support.google.com/accounts/answer/32046?hl=ja">Googleアカウントを削除する場合はこちらからご確認</a>ください。</span></p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/google-cloud-platform-free-trial-ends-cancels-or-cancels/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Firebaseから突然「Hosting ドメインの所有権を再確認してください」という通知が届く</title>
		<link>https://laboratory.kazuuu.net/suddenly-receive-a-please-reconfirm-the-hosting-domain-ownership-notification-from-firebase/</link>
					<comments>https://laboratory.kazuuu.net/suddenly-receive-a-please-reconfirm-the-hosting-domain-ownership-notification-from-firebase/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Thu, 25 Feb 2021 00:59:36 +0000</pubDate>
				<category><![CDATA[Firebase(ファイアベース)]]></category>
		<category><![CDATA[Google]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=6516</guid>

					<description><![CDATA[Firebaseから突然「Hosting ドメインの所有権を再確認してください」という通知が届いたことについて書きました。 以前、Firebaseを使ってWebアプリを制作していたのですが、制作してからFirebaseに [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Firebaseから突然「Hosting ドメインの所有権を再確認してください」という通知が届いたことについて書きました。</p>
<p>以前、Firebaseを使ってWebアプリを制作していたのですが、制作してからFirebaseにはほとんど触れていなかったのですが、Gmailを確認すると、Firebaseから突然「Hosting ドメインの所有権を再確認してください」という通知が届きました。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-20" checked><label class="toc-title" for="toc-checkbox-20">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■内容</a></li><li><a href="#toc2" tabindex="0">■原因について調べて対処について考える</a></li><li><a href="#toc3" tabindex="0">■追記</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■内容</span></h2>
<blockquote><p>プロジェクトの Hosting ドメインの所有権が確認できなくなりました。www.○○○.com の所有権の再確認期日まで残り 30 日 日です。これを過ぎると、削除されてコンテンツの配信が停止されます。<br />
プロジェクト名 に接続しているドメイン www.○○○.com の所有権を再確認してください。<br />
このドメインの前回の確認が無効となりました。これは、ユーザーがサイトの確認用 DNS レコードをドメイン プロバイダから削除した場合か、所有権の確認を実施したユーザーが Firebase プロジェクトでドメインを追加する権限を失った場合に起こる可能性があります。権限が付与されているロールには、オーナー、編集者、開発管理者などが該当します。</p></blockquote>
<pre>無効になった所有権確認
○○○
Hosting ドメイン
www.○○○.com
残り日数
30 日</pre>
<p>届いた内容を確認すると、上記の内容でした。</p>
<h2><span id="toc2">■原因について調べて対処について考える</span></h2>
<p>このような通知が突然届き、さらに「残り日数 30 日」という表示がこちら（制作者）を焦らせますが、こちら（制作者）の方で、Firebaseの設定は何も変更しておらず、届いた原因がわかりません。</p>
<p>もしかしたら、無料で利用できるSparkプランにしていることが原因かと考えましたが、そういうわけでもなさそうです。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-094826-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-6517" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-094826-1-300x169.png" alt="" width="300" height="169" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-094826-1-300x169.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-094826-1-1024x577.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-094826-1-768x433.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-094826-1-120x68.png 120w, https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-094826-1-160x90.png 160w, https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-094826-1-320x180.png 320w, https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-094826-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>とりあえず、通知のメールに表示されていた「ドメインの確認」ボタンをクリックしてみます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-095138.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-6518" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-095138-300x137.png" alt="" width="300" height="137" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-095138-300x137.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-095138-1024x467.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-095138-768x350.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-095138.png 1366w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Firebase」の「Hosting」のダッシュボードが表示されました。ダッシュボード内の情報を確認するのですが、「ドメイン」の「ステータス」は「接続されています」となっていますと表示されています。それ以外はエラーなどは発生していません。</p>
<p>発生していませんが、「Firebase」の「Hosting」のダッシュボードの上部に、</p>
<blockquote><p>You may have received one or more unexpected emails with the subject &#8220;[Firebase] Re-verify ownership of your Hosting domain&#8221;. These were sent by mistake and your domains&#8217; verification status have not changed. No action is required, and your domains continue to serve traffic as normal.</p>
<p>（件名が「[Firebase] あなたのホスティングドメインの所有権を再確認する」の予期しない電子メールを受信した可能性があります。これらは間違って送られたもので、あなたのドメインの認証状態は変わっていません。アクションは不要で、ドメインは通常どおりトラフィックを処理し続けます。）</p></blockquote>
<p>上記のメッセージが表示されており、翻訳して内容を読んでみると、「Hosting ドメインの所有権を再確認してください」という通知は間違って送られたものの可能性があるということで、何かこちら（制作者）で対処しなければいけないこと（アクション）はないよう。</p>
<p>アクションは不要だということで安心はしましたが、少々不安なので、不定期ではありますが「Firebase」の「Hosting」のダッシュボードを確認していきます。</p>
<h2><span id="toc3">■追記</span></h2>
<p>Firebaseから突然「Hosting ドメインの所有権を再確認してください」という通知が届いた後に、またFirebaseから「Firebase Hosting domain re-verification email sent in error（エラーで送信されたFirebase Hostingドメイン再検証Eメール）」というメールが届きました。</p>
<blockquote><p>Hi ○○○,<br />
We are writing to let you know that an error in our domain verification check process for Firebase Hosting caused a number of emails with a subject line of: [Firebase] Re-verify ownership of your Hosting domain to be sent incorrectly. You’re receiving this email because you were sent one or more ownership re-verification notices between February 23 to February 24, 2021.</p>
<p>No action is required on your part to address this issue, and your domains have continued serving content as normal during this time. We are restoring any records that may have been mistakenly marked as unverified, and your domains will continue to serve content to users as normal.</p>
<p>We apologize for any inconvenience this may have caused.</p>
<p>If you continue to see errors in the console or to have problems with verifications, feel free to reach out to our support team.</p>
<p>Thanks,<br />
Michael on behalf of the Firebase team</p>
<p>（こんにちは○○○<br />
Firebase Hostingのドメイン検証プロセスでエラーが発生したため、 [Firebase] Re-verify ownership of your Hosting domainという件名のEメールが不正に送信されました。2月23日から2021年2月24日までの間に所有権の再確認通知が送付されたため、このEメールを受け取りました。</p>
<p>この問題に対処するためにユーザー側で対処する必要はありません。この期間、ドメインは通常どおりコンテンツを提供し続けています。誤って未確認とマークされたレコードを復元しており、お客様のドメインは通常どおりユーザーにコンテンツを提供し続けます。</p>
<p>ご迷惑をおかけして申し訳ございません。</p>
<p>コンソールにエラーが引き続き表示される場合、または検証で問題が発生する場合は、サポートチームにお問い合わせください。</p>
<p>ありがとう<br />
Firebaseチームを代表するMichael）</p></blockquote>
<p>メールの内容は上記です。</p>
<p>Firebase Hostingのドメイン検証プロセスでエラーが発生し、Eメールが不正に送信されたため、今回のメールを送信したようです。なお、「この問題に対処するためにユーザー側で対処する必要はありません。」ということなので、こちら（製作者）では何もしなくても良いということですが、ちょっと驚きました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/suddenly-receive-a-please-reconfirm-the-hosting-domain-ownership-notification-from-firebase/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
