プログラミングノート

プログラミングの備忘録です

WindowsマシンにWebアプリケーション開発環境を( Apache2.4 + PHP7.1 ) 第1回

WindowsマシンにWebアプリケーションを開発する環境を準備します。ApachePHPを使います。

今回はApacheの準備を行います。

 

Apacheのインストール・設定

  1. Apache 2.4 VC14 Windowsバイナリ(2016/12/12現在最新)をインストールします。
  2. Apache VC14 binaries and modules download にアクセスします。
  3. OSの種類に合わせてzipファイルを選択し、zipファイル名リンクをクリックします。(OSの種類はコントロールパネルのシステムに書かれている「システムの種類」です。システムの種類は64ビットOSと32ビットOSがあります。)
  4. ダウンロードしたzipファイルを解凍します。
  5. 解凍したフォルダ内にあるApache24フォルダを配置します。

 

「c:/Apache24」以外に配置した場合は、httpd.comfファイルを書きかえます。

Apache24フォルダ>conf>httpd.confファイルを書き換えます。

  • 「ServerRoot」
  • 「DocumentRoot」
  • 「<Directory "・・・">」の「・・・」部分(複数あります)
  • 「ScriptAlias」

 

Apache 2.4を使う場合、Windows Visual C++ 2015 ランタイムが必要です。

コントロールパネルの「プログラム」にWindows Visual C++ 2015 ランタイムが含まれているか確認します。

Windows Visual C++ 2015 ランタイムがインストールされていないと、Apache起動時に「コンピューターにVCRUNTIME140.dllがないため、プログラムを開始できません。(略)」というエラーが表示されます。

 

Windows Visual C++ 2015 ランタイムをインストール

  1. Download Visual Studio 2015 の Visual C++ 再頒布可能パッケージ from Official Microsoft Download Center にアクセスします。
  2. OSの種類にあったプログラムを選択してダウンロードします。(例 64ビットOSの場合vc_redist.x64.exeです。)
  3.  ダウンロードしたexeファイルをWクリックします。規約に同意にチェックを入れてインストールボタンを押すと、インストールが始まります。
  4.  インストールが完了すると、「セットアップ完了」が表示されます。

 

 

 Apacheの開始停止

ServerRootのApache24>bin>httpd.exeを実行します。コマンドプロンプトで「httpd.exe」と入力しEnterボタンを押します。

停止させるときは、コマンドプロンプトでCtrlボタンと「c」を同時に押します。

 

補足

コマンドプロンプトで「httpd.exe」を入力するとき、どこに格納されているhttpd.exeを実行するのか指定する必要があります。下のいずれかを行います。

 

ApacheMonitorを使ってApacheの開始停止

ApacheMonitorにはStartボタンやStopボタンなどがあります。

ApacheMonitorを使うにはApacheをサービスに登録しておく必要があります。

 

Apacheをサービスに登録するには

コマンドプロンプトで「httpd.exe -k install」と入力しEnterボタンを押します。

登録後、コントロールパネル>管理ツール>サービス(ローカル)に表示されます。

 

★ApacheMonitorを使うには

  1. ServerRootのApache24>bin>ApacheMonitor.exeをWクリックして起動します。(ApacheMonitor.exeをスタートアップに登録しておくと便利です。)
  2. タスクバーのApacheMonitorアイコンをクリックすると「Apache24」とステータスマーク(赤:停止中、青:稼働中)が表示されます。「Apache24」をクリックすると、開始・停止するためのメニューが表示されます。

タスクバーにあるApacheMonitorアイコンをWクリックすると「Apache Service Monitor」画面が表示されます。「Apache Service Monitor」画面からも開始・停止ができます。

 

 

Apacheの稼働確認

Apacheを開始した後、ブラウザから「127.0.0.1」にアクセスします。

「It work!」が表示されると問題ありません。

 

 

次回

PHPを準備します。

Google APIを使用するための設定(APIキーの作成) 第3回

 アプリケーションがGoogle APIとやり取りするために認証が必要です。

 ブログなど公開されたデータを使うアプリケーションの場合は、APIキーを使って認証することができます。APIキーを使う認証は、APIキーによりプロジェクトを識別します。

  今回は、①APIキーの作成と②APIキー使用の注意について書きます。

 

APIキーを作成する前に

 APIコンソールで、①プロジェクトの作成と②使用するAPIの設定を行った後、APIキーを作成します。

 

1.プロジェクトの作成

Google APIを使用するための設定(プロジェクトの作成 ・ 使用するAPIの設定) 第1回 - プログラミングノートの「1.プロジェクトを作成」をご覧ください。

 

2.使用するAPIの設定

Google APIを使用するための設定(プロジェクトの作成 ・ 使用するAPIの設定) 第1回 - プログラミングノートの「1.プロジェクトで使用するAPIを設定」をご覧ください。

 

 

1.APIキーの作成

 アプリケーションが下の条件を満たす場合、APIキーを使うことができます。

  • アプリケーションがウェブアプリケーションの場合
  • アプリケーションがユーザーデータを必要としない場合
  • アプリケーションが暦やブログなど公的なデータを使用する場合

 

 下の手順で、APIキーを作成します。

  1.  APIコンソール(https://console.developers.google.com/)にアクセスしAPI Magenerを開きます。
  2. Google APIsの右横に表示されているプロジェクト名を確認します。プロジェクトを変更したい場合やプロジェクトを作成したい場合は、プロジェクト名の右横の「▼」をクリックします。
  3. API Managerの左メニューに表示されている「認証情報」をクリックすると、「認証情報」画面が表示されます。
  4. 「認証情報を作成」をクリックします。
  5. APIキー」をクリックすると、API キーが作成され「API キーを作成しました 」と表示されます。
  6. 「自分の API キー」をコピーし大切に保管します。(右端のコピーアイコンをクリックするとコピーしやすいです。)

 作成したAPIキーは「認証画面」タブで確認することができます。

 

作成したAPIキーを使って、公開されているGoogleカレンダーから日本の祝日を取得する方法を紹介します。

詳しくは、Google APIをPHPウェブアプリケーションから呼び出す(APIキー) 第7回 - プログラミングノート をご覧ください。

 

2.APIキー使用の注意

  APIキーでプロジェクトを識別して、割り当てとアクセスが行われます。そのため、割り当ての盗用や不正使用を防止するため、APIキーの取り扱いには注意が必要です。

  • プログラムコードにAPIキーを直接記述せず、環境変数に設定したり、外部ファイルに記述します。
  • 外部ファイルにAPIキーを記述する場合、その外部ファイルはアプリケーションのソースツリーの外に保管します。
  • IPアドレス、HTTPリファラ―、モバイルアプリを指定して、APIキーの使用を制限します。
  • 不要なAPIキーは削除します。
  • 定期的にAPIキーを再作成し、APIキーを更新します。
  • プログラムコードを公開する場合、APIキーなど個人情報が含まれないように注意します。

 

 下の手順で、APIキー使用を制限します。

  1.  APIコンソール(https://console.developers.google.com/)にアクセスしAPI Magenerを開きます。
  2. Google APIsの右横に表示されているプロジェクト名を確認します。プロジェクトを変更したい場合やプロジェクトを作成したい場合は、プロジェクト名の右横の「▼」をクリックします。
  3. API Managerの左メニューに表示されている「認証情報」をクリックすると、「認証情報」画面が表示されます。
  4. 認証画面で表示されているAPIキーの名前をクリックすると、そのAPIキーの設定画面が表示されます。
  5. APIキーの設定画面で制限方法を選択します。「HTTPリファラ―(ウェブサイト)」、「IPアドレス(ウェブサーバー、cronジョブなど)」、「Androidアプリ」、「iOSアプリ」からいずれかを選びます。
  6. 制限方法を選択すると、それぞれの制限で必要な情報の入力欄が表示されます。入力後、「保存」を押します。

 

記事一覧

第1回 Google APIを使用するための設定(プロジェクトの作成・使用するAPIの設定)

第2回 Google APIを使用するための設定(認証情報の登録)

第3回 Google APIを使用するための設定(APIキーの作成)

第4回 Google APIをPHPウェブアプリケーションから呼び出す

第5回 Google APIをPHPウェブアプリケーションから呼び出す(サービスアカウント)

第6回 Google APIへの問い合わせ状況と割り当てを確認する方法

第7回 Google APIをPHPウェブアプリケーションから呼び出す(APIキー)

 

参照

「Manage APIs in the API Console - API Console Help」

https://support.google.com/googleapi/answer/7037264?hl=en&ref_topic=7013279

「Setting up API keys」と「Best practices for securely using API keys」を参照しました。

 

Google APIを使用するための設定(認証情報の登録) 第2回

  第1回に引き続きGoogle APIを使用するための設定をします。今回はAPIとやり取りをするための認証情報を登録します。

 認証は大きく分けて2種類あります。①APIキーを使う認証と②OAuth2.0を使う認証の2種類です。それぞれの認証に必要な情報を登録する方法を書きます。

 

認証情報を登録する前に

 APIコンソールで、①プロジェクトの作成と②使用するAPIの設定を行った後、認証情報を登録します。

 

1.プロジェクトの作成

Google APIを使用するための設定(プロジェクトの作成 ・ 使用するAPIの設定) 第1回 - プログラミングノートの「1.プロジェクトを作成」をご覧ください。

 

2.使用するAPIの設定

Google APIを使用するための設定(プロジェクトの作成 ・ 使用するAPIの設定) 第1回 - プログラミングノートの「1.プロジェクトで使用するAPIを設定」をご覧ください。

 

 

1.APIキーを使う認証

  APIキーについては、下の記事をご参考ください。

Google APIを使用するための設定(APIキーの作成) 第3回 - プログラミングノート

 

2.OAuth2.0を使う認証

 アプリケーションがAPIを使用してGoogleユーザーのデータにアクセスする場合、こちらを行います。

 OAuth2.0証明書を使う認証とサービスアカウントを使う認証の2種類があります。

 OAuth2.0証明書を使う場合、ユーザーに対して同意画面を表示し、ユーザーにレスポンスを求めます。一方、サービスアカウントを使う場合、ユーザーに対して同意画面を表示しません。そのため、プログラムからAPIへ問い合わせすることができます。

 

OAuth2.0証明書

 アプリケーションがOAuth2.0証明書で認証されると、アプリケーションのユーザーに同意画面が表示されます。同意画面でユーザーが同意すると、アプリケーションがユーザーデータにアクセスするための認証コードが生成されアプリケーションに送信されます。アプリケーションは認証コードを使ってアクセストークンを取得し、アクセストークンを使ってユーザーデータにアクセスします。

 

下の手順で、OAuth2.0証明書を作成します。

  1.  APIコンソール(https://console.developers.google.com/)にアクセスしAPI Magenerを開きます。
  2. Google APIsの右横に表示されているプロジェクト名を確認します。プロジェクトを変更したい場合やプロジェクトを作成したい場合は、プロジェクト名の右横の「▼」をクリックします。
  3. 左メニューに表示されている「認証情報」をクリックすると、「認証情報」画面が表示されます。
  4. 「認証情報を作成」をクリックします。
  5. 「OAuthクライアントID」をクリックすると、「クライアントIDの作成」画面が表示されます。
  6. プロジェクト内ではじめてクライアントIDを作成する場合は、同意画面の設定が求められます。「同意画面を設定」をクリックします。(画面中央にある「OAuth同意画面」をクリックしても同じ画面が表示されます。)
  7. 「OAuth同意画面」で必須のメールアドレスとサービス名を入力します。(その他に、ホームページのURL、サービスロゴのURL、プライバシーポリシーのURL、利用規約のURLの項目があります。)
  8. 入力後「保存」ボタンを押すと、保存後「クライアント ID の作成」画面に戻ります。

  9. 「クライアント ID の作成」画面で「アプリケーションの種類」を選択します。

    アプリケーションの種類ごとに入力内容が違います。今回は「ウェブアプリケーション」を選択します。

  10. アプリケーションの名前、ブラウザからのリクエストで使用するJavaScript生成元 URI、認証後ユーザーがリダイレクトされるアプリケーション内のURI を、入力します。
  11. 「作成」をクリックします。
  12. 作成後、OAuthクライアント画面に、クライアントIDとクライアントシークレットが表示されます。クライアントIDとクライアントシークレットをコピーして保存します。(右端のコピーマークをクリックすると、コピーしやすいです。)

  13.  「OK」をクリックします。

  14. 作成したクライアントIDは「認証画面」タブで確認することができます。

 

作成したOAuth2.0証明書の使い方は、下の記事をご覧ください。

Google APIをPHPウェブアプリケーションから呼び出す 第4回 - プログラミングノート

 

 

サービスアカウント

 「サービスアカウントは、アプリケーションがプログラムによりGoogleサービスにアクセスするために使用できる特別なGoogleアカウントです。」(Cloud Identity and Access Management https://cloud.google.com/iam/docs/service-accountsより引用)

 サービスアカウントを使うとアプリケーションによる認証を行うことができます。アプリケーションがAPIを使用するためには、サービスアカウントキーを作成する必要があります。

 

サービスアカウント作成

 デフォルトで「App Engine default service account」と「Compute Engine default service account」というサービスアカウントが用意されていますが、今回は、別のサービスアカウントを新規作成します。

  1. Google Apis の左横にあるメニューマークをクリックし、表示されるメニューから「IAMと管理」を選択します。
  2. 左メニューの「サービスアカウント」をクリックすると、プロジェクトのサービスアカウントが表示されます。
  3. 「サービス アカウント」(タイトル)の右横にある「サービスアカウントを作成」リンクをクリックすると、サービスアカウントの作成画面が表示されます。
  4. サービスアカウントの作成画面に入力します。

 

 サービスアカウントの作成画面には下の入力項目があります。

  • サービスアカウント名(このサービスアカウントで行うことを入力)
  • 役割
  • 新しい秘密鍵の提供
  • G Suite ドメイン全体の委任を有効にする

 「新しい秘密鍵の提供」を選択した場合、「キーのタイプ」を選択します。

 「新しい秘密鍵の提供」を選択してサービスアカウントを作成すると、「キーのタイプ」で選択した種類のファイルをダウンロードします。ダウンロードしたファイルは保存し大切に保管します。

 

 

 サービスアカウントキーの作成

  1.  APIコンソール(https://console.developers.google.com/)にアクセスしAPI Magenerを開きます。
  2. Google APIsの右横に表示されているプロジェクト名を確認します。プロジェクトを変更したい場合やプロジェクトを作成したい場合は、プロジェクト名の右横の「▼」をクリックします。
  3. 左メニューに表示されている「認証情報」をクリックすると、「認証情報」画面が表示されます。
  4. 「認証情報を作成」をクリックします。
  5. 「サービスアカウントキー」をクリックすると、「サービスアカウントキーの作成」画面が表示されます。
  6.  「サービスアカウントキーの作成」画面で、サービスアカウントキーを作成するサービスアカウントを選択します。キーのタイプでJSONかP12を選択します。
  7. 入力後、「作成」をクリックすると、Windowsのダウンロード画面が表示されます。ダウンロードしたファイルを保存し大切に保管します。
  8.  作成したサービスアカウントキーに関しては「認証画面」タブで確認することができます。

 

 

サービスアカウントキーの使い方

Google APIをPHPウェブアプリケーションから呼び出す(サービスアカウント) 第5回 - プログラミングノート をご覧ください。

 

 

デフォルトのサービスアカウントについて補足

 サービスアカウント「APP Engine default service account」はGoogle App Engineサービスで、サービスアカウント「Compute Engine default service account」はGooge Compute Engineサービスで使います。

Google App Engineサービスについては、下記ページをご覧ください。

Google App Engine とは?  |  App Engine  |  Google Cloud Platform

Google Compute Engineサービスについては、下記ページをご覧ください。

 Compute Engine - IaaS  |  Google Cloud Platform

 

 

記事一覧

第1回 Google APIを使用するための設定(使用するAPIの選択)

第2回 Google APIを使用するための設定(認証情報の登録)

第3回 Google APIを使用するための設定(APIキーの作成)

第4回 Google APIをPHPウェブアプリケーションから呼び出す

第5回 Google APIをPHPウェブアプリケーションから呼び出す(サービスアカウント)

第6回 Google APIへの問い合わせ状況と割り当てを確認する方法

第7回 Google APIをPHPウェブアプリケーションから呼び出す(APIキー)

 

 

参照

「Manage APIs in the API Console - API Console Help」

https://support.google.com/googleapi/answer/7037264?hl=en&ref_topic=7013279

「Credentials, access, security, and identity」と「Setting up OAuth 2.0」を参照しました。

 

「Cloud Identity and Access Management」

https://cloud.google.com/iam/docs/service-accounts

 

Google APIを使用するための設定(プロジェクトの作成 ・ 使用するAPIの設定) 第1回

Google APIとは

 Googleサービスとアプリケーションの間でやり取りをするためのものです。

 Google APIを使いGoogleカレンダーGoogleドキュメントなどのGoogleサービスとやり取りをすると、Googleサービスにあるデータを使うアプリケーションを作成することができます。

 

Google APIを使用するための設定

 API コンソール(https://console.developers.google.com/)で、プロジェクトごとに設定します。

 APIを使用するために、①プロジェクトを作成したり、②プロジェクトで使用するAPIを設定したり、③APIへのアクセスに必要な認証情報を登録します。

 

(2017年1月25日編集)

 アプリケーションとAPIでやり取りをするとき、APIの使用量に制限があります。請求先アカウントを作成するなどして課金を設定すると、API使用量の上限を引き上げることができるAPIがあります。この制限に関しましてはAPIにより異なりますので、使用するAPIのドキュメントをご確認ください。

 APIコンソールで、API使用量を確認したり、課金や請求先アカウントを管理したりします。API使用状況やAPI使用制限の上限(割り当て)を確認する方法については下の記事をご参考ください。

Google APIへの問い合わせ状況と割り当てを確認する方法 第6回 - プログラミングノート

 API使用量の制限がありますので、APIを使用できるようにする前に、使用するAPIのドキュメントをご確認される方がいいと思います。

 

 

APIを使用するための設定手順

  1. プロジェクトを作成
  2. プロジェクトで使用するAPIを選択
  3. APIへのアクセスに必要な認証情報を登録

 

1.プロジェクトを作成

新しいプロジェクトの作成画面を表示します。

 

  1. 最初に、API コンソール(https://console.developers.google.com/)にアクセスします。
  2. アクセスして表示された画面の左上にある「Google APIs」の右横に、「project」または、作成済みのプロジェクト名が表示されます。それらの右横の「▼」をクリックします。
  3. クリックして表示された選択メニューで、「プロジェクトを作成」をクリックすると、「新しいプロジェクト」画面が表示されます。

 

新しいプロジェクトの作成画面で入力します。

 

プロジェクト名

 API コンソールでプロジェクトを管理するためにつける名前です。

 APIコンソールで識別しやすいプロジェクト名を入力します。

 

プロジェクトID

 プロジェクトごとにつけられたグローバルに固有なIDです。プロジェクトIDが割り振られ表示されます。

 表示されたIDを変更したい場合は、「プロジェクトIDは・・・です」の右横の「編集」リンクをクリックすると、プロジェクトIDを入力するためのテキストボックスが表示されます。

 表示されたテキストボックスの右端にある回転している矢印マークをクリックすると、別のプロジェクトIDの候補が表示されます。テキストボックスにプロジェクトIDを直接入力することもできます。

 プロジェクト作成後に変更できません。

 

 詳細設定

 「詳細設定を表示」リンクをクリックすると、「App Engineの地域」が表示されます。私は初期表示された「us-central」を選択しました。

 

 また、はじめてプロジェクトを作成する場合のみ、下の2項目が表示されます。

  • 「新機能のお知らせ、パフォーマンスに関するアドバイス、フィードバック調査、特典に関する最新情報をメールで受け取ります。」が表示されます。私は「はい」を選択しました。
  • 利用規約に同意するため、私は「はい」を選択しました。

 

入力後「作成」リンクをクリックします。

 

 

2.プロジェクトで使用するAPIを設定

  1.  画面の左上にある「Google APIs」の右横にプロジェクト名が表示されていることを確認します。別のプロジェクトを選択したい場合は、「▼」をクリックしてプロジェクトを選択します。
  2. 画面の左メニューから「ライブラリ」をクリックします。
  3. 「よく使われるAPI」一覧に表示されているAPI名をクリックします。または、検索を行い検索結果に表示されたAPI名をクリックします。
  4. API名をクリックすると、選択したAPIの画面が表示されます。画面中央上にある「有効にする」リンクをクリックします。

画面の左メニューの「ダッシュボード」をクリックすると、画面中央下にある「API」に有効にしたAPIが表示され、確認することができます。

 

 

3.APIのアクセスに必要な認証情報を登録

 引き続き APIへのアクセスに必要な認証情報を登録を行います。

認証情報の登録は下の記事をご覧ください。

Google APIを使用するための設定(認証情報の登録) 第2回 - プログラミングノート

 

記事一覧

第1回 Google APIを使用するための設定(プロジェクトの作成・使用するAPIの設定)

第2回 Google APIを使用するための設定(認証情報の登録)

第3回 Google APIを使用するための設定(APIキーの作成)

第4回 Google APIをPHPウェブアプリケーションから呼び出す

第5回 Google APIをPHPウェブアプリケーションから呼び出す(サービスアカウント)

第6回 Google APIへの問い合わせ状況と割り当てを確認する方法

第7回 Google APIをPHPウェブアプリケーションから呼び出す(APIキー)

 

 

 

参照

「Manage APIs in the API Console - API Console Help」

https://support.google.com/googleapi/answer/7037264?hl=en&ref_topic=7013279

「Enable and disable APIs」を参照しました。

Googleスプレッドシート シートや範囲に入力できるユーザーを制限する

Googleスプレッドシート シートや範囲に入力できるユーザーを制限する

 共有しているスプレッドシートを複数の人と編集する場合、「この範囲は他の人に入力してほしくない」ということがあるかもしれません。

 このような場合、保護された範囲を編集できるユーザーを制限する機能が役立つと思います。

 

 

シートや範囲に入力できるユーザーを制限する手順

 

1.「範囲/シート追加」フォームを表示する

 

 スプレッドシートを開き、画面上部にあるメニューの「データ」>「保護されているシートと範囲」をクリックすると、画面右側に「保護されているシートと範囲」が表示されます。

 

  すでに保護が登録されている場合は、登録済みの保護一覧が表示されます。保護一覧の上にある「+範囲/シート追加」リンクをクリックすると、「範囲/シート追加」フォームが表示されます。(保護一覧で保護をクリックすると、その保護内容を見ることができます。)

 

 「範囲/シート追加」フォームの「説明」は入力を省略することができます。

 

 

2.保護したいシートや範囲を指定する

 保護対象をシートや範囲(セル)で指定することができます。

 

範囲(セル)で指定する場合

  1. 「範囲」をクリックします。
  2. 範囲を入力するボックスの中にある「データ範囲を選択」アイコン(スプレッドシートのグリッドを描いたアイコン)をクリックし、シート上で保護する範囲を選択します。範囲が選択できれば「OK」をクリックします。

 

シートで指定する場合

  1. 「シート」をクリックします。
  2. シート選択リストで保護するシートを選択します。
  3. 特定のセルを除きたい場合は、「特定のセルを除く」にチェックを入れます。範囲を入力するボックスの中にある「データ範囲を選択」アイコン(スプレッドシートのグリッドを描いたアイコン)をクリックし、シート上で保護から除く範囲を選択します。範囲が指定できれば「OK」をクリックします。

 

 

3.権限を設定します。

 

  1. 「シート/範囲追加」フォームにある「権限の設定」をクリックすると、「範囲の編集権限」画面が表示されます。
  2. 「範囲の編集権限」画面で「この範囲を編集できるユーザーを制限する」を選択 します。
  3.   編集者選択リストから「自分のみ」「詳細設定」「別の範囲から権限をコピー」を選択し、保護された範囲の編集を許可するユーザーを指定します。(下の「編集者選択リストの選択肢」をご参照ください)
  4. 「完了」をクリックすると、「変更を保存しました。」が表示され、範囲が保護されます。

 

編集者選択リストの選択肢

「自分のみ」

  • 自分のみ編集を許可します。ただし、スプレッドシートのオーナー(作成者)が自分でないときは、オーナーにも編集を許可します。

「詳細設定」

  • 「範囲の編集権限」画面に「編集者を選択」が追加表示されます。
  • 編集を許可するユーザーを追加するには、「編集者を追加」に追加したいユーザーの名前またはメールアドレスを入力します。
  • 「編集者を選択」で一覧表示されているユーザーの右側にあるチェックを外すと、そのユーザーは編集できなくなります。

 

 

編集を許可されていないユーザーが編集しようとすると

 編集を許可されていないユーザーが保護された範囲を編集しようとすると、その編集が拒否され、下のメッセージが表示されます。

「問題が発生しました。
保護されているセルやオブジェクトを編集しようとしています。編集する必要がある場合は、スプレッドシートのオーナーに連絡して、保護を解除してもらってください。

 「OK」をクリックして元のシートへ戻ります。

 

 

保護されていて編集ができない範囲を確認する

 スプレッドシートを開き、画面上部にあるメニューの「表示」>「保護されている範囲」をクリックすると、保護されている範囲の背景が縞模様になります。
 

 

記事一覧

第1回 Googleドキュメントで自動保存された内容を変更履歴から見る

第2回 Googleスプレッドシート シートや範囲を誤入力から保護する

第3回 Googleスプレッドシート シートや範囲に入力できるユーザーを制限する

 

 

参照

Googleヘルプ」(https://support.google.com/

「ドキュメントエディタ」>「スプレッドシート」>「シート、行、列の操作」>「範囲やシートを編集から保護する」を参照しました。

 

Google スプレッドシート シートや範囲を誤入力から保護する

Google スプレッドシート 範囲やシートを誤入力から保護する

 

 スプレッドシートは、入力するたびに自動で保存されます。

 スプレッドシートを読んでいる時、誤って入力してしまい、その入力内容が保存されてしまうことがないようにする機能を調べました。

 

保護されたシートや範囲に入力しようとすると、編集確認のメッセージを表示する機能がありました。

 

 確認メッセージが表示されるので、「入力するつもりはなかったのにうっかり入力してしまった」を防ぐことはできそうです。

 しかし、確認メッセージで「OK」をクリックすると編集できてしまうので、完全にデータを保護することはできません。

 

 

編集確認のメッセージを表示させる手順

 

1.「範囲/シート追加」フォームを表示する

 

 スプレッドシートを開き、画面上部にあるメニューの「データ」>「保護されているシートと範囲」をクリックすると、画面右側に「保護されているシートと範囲」が表示されます。

 

  すでに保護が登録されている場合は、登録済みの保護一覧が表示されます。保護一覧の上にある「+範囲/シート追加」リンクをクリックすると、「範囲/シート追加」フォームが表示されます。(保護一覧で保護をクリックすると、その保護内容を見ることができます。)

 

 「範囲/シート追加」フォームの「説明」は入力を省略することができます。

 

 

2.保護したいシートや範囲を指定する

 保護対象をシートや範囲(セル)で指定することができます。

 

範囲(セル)で指定する場合

  1. 「範囲」をクリックします。
  2. 範囲を入力するボックスの中にある「データ範囲を選択」アイコン(スプレッドシートのグリッドを描いたアイコン)をクリックし、シート上で保護する範囲を選択します。範囲が選択できれば「OK」をクリックします。

 

シートで指定する場合

  1. 「シート」をクリックします。
  2. シート選択リストで保護するシートを選択します。
  3. 特定のセルを除きたい場合は、「特定のセルを除く」にチェックを入れます。範囲を入力するボックスの中にある「データ範囲を選択」アイコン(スプレッドシートのグリッドを描いたアイコン)をクリックし、シート上で保護から除く範囲を選択します。範囲が指定できれば「OK」をクリックします。

 

 

3.権限を設定します。

 

  1. 「シート/範囲追加」フォームにある「権限の設定」をクリックすると、「範囲の編集権限」画面が表示されます。
  2. 「範囲の編集権限」画面で「この範囲を編集するときに警告を表示する」を選択します。
  3. 「完了」をクリックすると、「変更を保存しました。」が表示され、範囲の保護が始まります。

 

 

編集確認メッセージ

保護された範囲を編集しようとすると、下の編集確認メッセージが表示されます。

「実行してもよろしいですか?
シート上の保護された範囲を編集しようとしています。編集してもよろしいですか?」

 

  • 保護された範囲を編集したいときは、「OK」をクリックします。
  • 保護された範囲を編集したくないときは、「キャンセル」をクリックします。

 

 

 次回

 シートや範囲を保護するために、編集できるユーザーを制限するという機能もありました。

 複数の人と共有ファイルを編集するとき役立つと思いますので、次回その機能について書きます。

 

 

記事一覧

第1回 Googleドキュメントで自動保存された内容を変更履歴から見る

第2回 Googleスプレッドシート シートや範囲を誤入力から保護する

第3回 Googleスプレッドシート シートや範囲に入力できるユーザーを制限する

 

 

参照

Googleヘルプ」(https://support.google.com/

「ドキュメントエディタ」>「スプレッドシート」>「シート、行、列の操作」>「範囲やシートを編集から保護する」を参照しました。

TortoiseGit ブランチを統合(マージ)する 第6回

主軸のブランチを分岐させて作業用のブランチを作成します。作業用のブランチで変更作業が終わると、主軸のブランチに統合して変更を反映させます。統合について書きます。

 

HEADとは

現在のブランチの最新の版(コミット)です。

 

マージ

マージには2種類あります。

 

1.ファストフォワード

分岐元を「親ブランチ」分岐先を「子ブランチ」とすると、親ブランチに変更がなく子ブランチに変更があり、子ブランチの最新の版(コミット)をHEADとすることをファーストフォワードといいます。実際に内容を統合しません。

 

2.ファーストフォワードしないマージ

内容を統合(マージ)しコミットして新しい版(コミット)を作成します。作成した新しい版(コミット)をHEADとすることをファーストフォワードしないマージといいます。

 

TortoiseGitでのマージ操作

  1. 作業フォルダを右クリックして表示されるメニューで、「TortoiseGit」>「マージ」をクリックすると、マージ画面が表示されます。
  2. マージ画面で、現在のHEADにどの版(コミット)をマージするのか「From」に入力します。
  3. 競合がなくマージを完了すると、「Gitコマンド実行中」画面に「成功」が表示されます。「閉じる」ボタンを押します。

マージ画面の「オプション」で「ファーストフォワードしない」を選択せずマージを実行すると、ファーストフォワードが可能な場合は、ファーストフォワードします。

 

競合がある場合の操作

競合があると、Gitコマンド実行中画面が表示され、マージが中断されます。

  1. 競合の解決ボタンを押すと、コミット画面が表示されます。
  2. コミット画面で競合があるファイルのファイル名をクリックすると、TortoiseGitMerge画面が表示されます。左ブロックに「あちら側」としてマージ画面でFromに指定した版(コミット)の内容が表示され、右ブロックに「こちら側」として現在のブランチのHEADの内容が表示されます。下ブロックの「マージ済み」で競合の解消を行います。
  3. 「?????・・・」が表示されている部分を修正します。行内をクリックすると行を選択することができ、選択した行は太枠で囲まれます。コピーや貼り付けをしたり直接入力をして競合を解消します。
  4. 画面上にあるメニューの「解決済みとする」をクリックします。
  5. コミット画面でコミットします。
  6. コミットを完了すると、「Gitコマンド実行中」画面に「成功」が表示されます。「閉じる」ボタンを押します。

 

リベース

主軸(ベース)のブランチを別のブランチに付け替えることです。新しい主軸のブランチに含まれていない変更すべてを、新しい主軸のブランチの版(コミット)に反映させる必要があります。

統合する目的でリベースを使うことができますが、共有リポジトリでリベースすることはできません。その理由は、リベースすると失われる版(コミット)情報があり、リベースした後プッシュできなくなる恐れがあるためです。

 

TortoiseGitでのリベース操作

  1. 作業フォルダを右クリックして表示されるメニューで、「TortoiseGit」>「リベース(ブランチの付け替え)」をクリックすると、リベース画面が表示されます。
  2. リベース画面で、「ブランチ」に新しい主軸のブランチ、「上流」に前の主軸のブランチを入力します。
  3. リベースにより反映される変更が一覧表示されます。採用する変更を確認の上、「リベース開始」をクリックします。
  4. 競合があるとリベースが中断されます。リベース画面で競合があったファイルのファイル名をクリックすると、TortoiseGitMerge画面に競合内容が表示されます。競合を解消してコミットします。リベースが完了するまで競合の解消を繰り返します。
  5. リベースが完了したら、「終了」をクリックします。

 

  • リベース画面で「ブランチ」に入力した方が「こちら」となり、「上流」に入力した方が「あちら」となります。
  • リベース画面の反映される変更一覧で変更を選択すると、変更対象の項目(ファイルなど)が表示されます。
  • 競合を解消する操作は、上記の「競合がある場合の操作」の3と4をご参照ください。

 

リビジョングラフ画面を見ると、枝分かれしていた変更履歴が一本になり、リベースできたことがわかります。

リビジョングラフ画面は、作業フォルダを右クリックして表示されるメニューで「TortoiseGit」>「リビジョングラフ」をクリックして表示します。

 

TortoiseGitでの操作

 ログ画面の表示

  1. 作業フォルダを右クリックして表示されるメニューで、「TortoiseGit」>「ログを表示」をクリックすると、ログメッセージ画面が表示されます。
  2. ログメッセージ画面の上部にある変更一覧で変更を選択すると、画面下部に変更された項目(ファイルなど)が表示されます。
  3. 変更された項目(ファイル名など)をクリックすると、TortoiseGitMerge画面に変更された項目の内容が表示されます。右ブロックに選択した変更の版(コミット)が表示され、左ブロックにその一つ前の版(コミット)が表示されます。

 

ブランチの削除

 

  1. 作業フォルダを右クリックして表示されるメニューで、「TortoiseGit」>「リファレンスをブラウズ」をクリックすると、リファレンスをブラウズ画面が表示されます。
  2. リファレンスをブラウズ画面で、ブランチ名を右クリックして表示されるメニューで、「ブランチを削除」をクリックします。

 

参照

Gitを使ったバージョン管理【Gitの基本】 | サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ

TortoiseGit の基礎勉強 〜TortoiseGit によるバージョン管理を使う〜 — バージョン管理システム入門(初心者向け)

 

最後に

Gitの基礎とToitorseGitを学んで、競合の解消が難しいと思いました。これからToitorseGitを使っていき、さまざまな状況を通して対処方法を学んでいきたいと思います。

記事一覧

第1回 はじめてのバージョン管理システム Git

第2回 TortoiseGit Windows(64bit)にTortoiseGitをインストールする

第3回 TortoiseGit ローカルマシン上の作業フォルダの変更履歴を管理する

第4回 TortoiseGit 共有ファイルの変更履歴を管理する

第5回 TortoiseGit ブランチを使って効率的に変更作業を行う

第6回 TortoiseGit ブランチを統合(マージ)する