Mac&スマホ プログラミング

【Macで図解】GoogleSpreadsheetAPIを使って、Androidアプリから、スプレッドシートの値を書き換え【AndroidStudio】

投稿日:

AndroidアプリからGoogleのスプレッドシート APIを用いて、スプレッドシート に書き込んだデータを読み込んだり、書き込んだりってことを実現できるようにAndroid Studioを使って、Androidアプリを実装してみました。

Googleスプレッドシート とは

エクセルのような表計算ソフトです。WEBブラウザで使用できるようになっており、Excelと違い、インターネット上で動作しているため、プログラミングで、通信を利用して、データを保存したり、読み込んだりできます。

Googleスプレッドシート APIでできること

Googleスプレッドシート の作成や閲覧や編集や削除など可能です。今回作成するAndroidアプリの開発では、あらかじめ用意したspreadsheetに対して、アンドロイドアプリから読み込み、書き込みをできるようにしていきます。

Google API利用準備

開発者登録を実施する

Google API Consoleにアクセスする

プロジェクトを作成する

GoogleAPIsの画面より、青丸で囲ったところを押スト、プロジェクトの作成が出てきます。

プロジェクトの選択画面から、新しいプロジェクトを選択

新しいプロジェクを選択したら、任意のプロジェクト名を入力

androidアプリで、スプレッドシート を操作できるようにするGoogleAPIsのプロジェクトだよってのが識別できれば良いです。

スプレッドシート APIを有効にする

プロジェクトの作成ができると、ダッシュボードを押すと、写真のようにAPIライブラリに移動というところが出てくるので、そこを押す

GoogleAPIライブラリに移動するので、Google Workspaceのところから、全て表示を押す。

スクロールしていくと、Google sheets APIが出てくるので、そこをクリックする

Google Sheets APIを選択すると、した画像のように、有効にするボタンが出てくるので、有効にするを押す。

androidアプリからgoogle spread sheets APIにアクセスできるように認証情報を作成する

Google sheets APIが有効にできたら、andoroidアプリから、アクセスできるようにするために、認証情報を作成します。

図のように、認証情報を作成をクリックします

認証情報の作成

・図のように選択してください

選択できたら必要な認証情報をおす

OAuth同意画面の設定

androidアプリから個人のスプレッドシート にアクセスするわけなので、誰がアクセスするのかの同意画面が必要になるので、

同意画面を設定を押します

OAuth同意画面の設定は、

User typeを外部と選択して、作成を押します。

OAuth同意画面を作成すると、アプリ名やらなんやらかんやら入力する画面が出てきますが、適当に埋めていきます。必須のところだけでOK

テストユーザーの追加

スプレッドシート にアクセスして良い人をここに登録します。

ここでは、自分のGMAILアドレスを入力すればOK

APIキーの作成とOAuth2.0クライアントIDの作成

OAuth同意画面の作成ができたら、右側の「認証情報」をクリックし、「認証情報を作成」をクリック

OAuthクライアントID作成

以下の図より、必要事項を入力する

・パッケージ名は次の画像の通り、androidアプリを作成した時に、自動生成されるbuild.gradle(Module:app)に表記あるので、解説します。

・SHA-1証明書のフィンガープリントも次項で解説します

パッケージ名を調べる

android studioを開いて、空のプロジェクト(androidアプリ)を作成します。取り敢えず、EmptyActivityを選択しアプリを作ると、以下のように、自動的にbuild.gradle(Module:app)作成され、その中に、パッケージ名が含まれるので、そこを確認してください

SHA-1証明書のフィンガープリントの調べ方

まずはJAVAがインストールされたフォルダを探す

windows環境なら

Mac環境なら

このフォルダの中に、debug.keystoreというファイルがあると思うので、ターミナルを開いて、

と入力して、先ほどのファイルをドラッグ&ドロップします。

要は、以下のようにターミナルに入っていればOKでう。ユーザー名などディレクトリはご自身の環境に合わせて変更してください。

入力できたらエンターキーを押すと、パスワード入力を求められるので、

android

とパスワードを入力します。

上記のようにターミナルに表示されるので、SHA1のところをOAuthクライアントID入力欄のSHA-1証明書のフィンガープリントのところへ入力すればOK

これでOAuthクライアントIDは作成完了

APIキーの作成方法

認証情報を作成ボタンを押すと、APIキーが選べるのでそこを押す

ここは何もしなくても、画面の指示に従えば、APIキーが発行できますので、発行されたAPIキーをメモしておきます

Android Studioでアプリ側の作成を開始

build.gradleにライブラリ情報追加

Google スプレッドシート APIを使用するために必要なライブラリを読み込み
(Module: app)のbuild.gradleを以下のように書き換えてください

AndroidManifest.xmlを編集

自動生成されたアンドロイドマニュフェストに、ネットワーク接続のパーミッションを追加します。あと、グーグルサービスのメタ情報を追加します。

データ読み書き用のスプレッドシート 作成

・適当でいいので、スプレッドシート に書き込みます。

シート名を1「data1」にしてください(任意ですが、今回のサンプルプログラムの中に、data1としてるので)

・ファイル名もなんでもいいです。

・必ず共有ユーザーにGoogleSHeetAPIで設定した時のGoogleアカウントを追加しておいてください(テストユーザーと同じ人を共有)

android studioでコード作成

取り敢えず、以下のコードをコピーし貼り付けてもらえれば動きます。

ここからの改良はそれぞれの方が実施してください

MainActivity.java

以下の部分だけ、データ書き込み用に作成したスプレッドシート のURLのhttps://docs.google.com/spreadsheets/d/ここの文字列/edit#gid=0 の赤字の部分を以下のコードに適応させます

private List getDataFromApi() throws IOException {
String spreadsheetId = "ここに自分で作成したスプレッドシート のURLを貼り付ける";

これで完成 実行してみよう

こんな感じで読み込み完了できました。

次回は、データの書き込みができるようにしてみます。

人気の記事!

1

ふんわり始まった激アツキャンペーン!なんとアマゾンのスマートスピーカーであるエコードットの第3世代が通常価格5,980円の所、ななななん84%割引の500円で購入できるチャンスです。 ⇩購入は以下の画 ...

2

出典:io-data.jp こんにちは。↑の写真のようなPCモニター環境を目指しています。4K43インチくらいの大きさの4KテレビをMacBook ProのUSB-Cと接続、もしくは、Windowsの ...

3

目次 キャンペーンを駆使!最安を渡り歩くLINEモバイルのキャンペーン楽天モバイルキャンペーンまとめ17ヶ月間の合計スマホ維持費LINEモバイルの口コミ、評判通信速度とりあえずは今の所通信速度は問題な ...

-Mac&スマホ, プログラミング
-, ,

Copyright© コスパ部 , 2021 All Rights Reserved.