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

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

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

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

0回答

1200閲覧

Google Spread SheetにPHPよりアクセスして値追加したい

rinkoro

総合スコア23

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2021/03/31 09:38

Google Spread Sheetにアクセスしてデータを操作したいと考えてるのですが(今回は追加)
上手くいかず質問させていただきます

やったこと

https://agohack.com/writing-values-using-google-sheets-api-php/
上記のサイトを参考に設定しました。

①一般に公開したくないスプレッドシートなので認証はサービスアカウントを選択。

イメージ説明

②スプレッドシートの共有設定で上記のサービスアカウントのアドレスを編集者として設定。
中身は以下の状態
イメージ説明
③発行したjsonファイルはlaravelプロジェクトのstorage/app/json配下に置く(ファイル名はauth-key.json)
ライブラリの追加

php composer.phar require google/apiclient:^2.0

④スプレッドシートアクセス用のphpファイル作成。

<?php require_once __DIR__ . '/vendor/autoload.php'; define('APPLICATION_NAME', 'test'); define('CLIENT_SECRET_PATH', storage_path('app/json/auth-key.json')); // スコープの設定 define('SCOPES', implode(' ', array( Google_Service_Sheets::SPREADSHEETS) )); // アカウント認証情報インスタンスを作成 $client = new Google_Client(); $client->setScopes(SCOPES); $client->setAuthConfig(CLIENT_SECRET_PATH); // シートのインスタンスを生成 $service = new Google_Service_Sheets($client); echo($service); try { // スプレッドシートの ID $spreadsheetId = '*****************************'; // 更新するシートの名前とセルの範囲 $range = '202004!A2:B7'; // 更新するデータ $values = [ ["A1", "B1"], ["2019/1/1", "2020/12/31"], ["アイウエオ", "かきくけこ"], [10, 20], [100, 200], ['=(A5+A6)', '=(B5+B6)'] ]; $updateBody = new Google_Service_Sheets_ValueRange([ 'values' => $values ]); // valueInputOption を指定( USER_ENTERED か RAW から選択) $params = [ 'valueInputOption' => 'USER_ENTERED' ]; $result = $service->spreadsheets_values->update($spreadsheetId, $range, $updateBody, $params); // 更新したセルの数が返ってくる echo $result->getUpdatedCells(); } catch (Google_Exception $e) { // $e は json で返ってくる $errors = json_decode($e->getMessage(),true); $err = "code : ".$errors["error"]["code"].""; $err .= "message : ".$errors["error"]["message"]; echo "Google_Exception".$err; }

echo($service)の時点で一部変数を出力させようとしてますが
php ファイル名.php で実行しても出力されず、アクセスできてないのかなと感じてます。
何か漏れてること等あればご教示いただけますと幸いです。
宜しくお願いします。

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

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

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

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

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

FKM

2021/04/01 01:18

アカウント認証はされているのでしょうか?
rinkoro

2021/04/08 12:15

ご返答ありがとうございます。アカウント認証とはスプレッドシートにアカウント追加のことでしょうか。。?アgoogle apiで発行したサービスアカウントはスプレッドシートに共有で追加しております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問