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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google カレンダー

Google カレンダーは、Google社が提供する無料のスケジュール管理ツールです。パソコンやスマートフォン、タブレットなどからアクセスし、スケジュールの追加・変更が可能。Googleアカウントがあれば誰でも使用できます。

Google API

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

PHP

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

composer

Composerとは、PHP5.3.2以上で使用可能なパッケージ管理ツールです。指定ディレクトリ内だけでパッケージ管理します。

Q&A

0回答

1236閲覧

2つあるautoload.phpの競合を回避したい

channnana

総合スコア2

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google カレンダー

Google カレンダーは、Google社が提供する無料のスケジュール管理ツールです。パソコンやスマートフォン、タブレットなどからアクセスし、スケジュールの追加・変更が可能。Googleアカウントがあれば誰でも使用できます。

Google API

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

PHP

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

composer

Composerとは、PHP5.3.2以上で使用可能なパッケージ管理ツールです。指定ディレクトリ内だけでパッケージ管理します。

0グッド

1クリップ

投稿2021/02/22 09:47

前提

サイトAの作成

「フォームから送信すると、送信した内容がGoogle SpreadSheetに追記される」ようなサイトを
Composerにてフォルダ/vendor/を作成し、それを使って作成しました。

サイトBの作成

「フォームから送信すると、送信した内容が特定のGoogle Calendarに登録される」ようなサイトを
サイトAでフォルダ/vendor/にあたる、フォルダ/googlecalendar/を、参考サイトから流用し
それを使って作成しました。

サイトAサイトB
機能Google SpreadSheetGoogle Calendar
使用APIのフォルダ/vendor//googlecalendar/
サイトBにサイトA同様の機能追加

サイトBにサイトA同様の機能を追加してほしい旨の依頼があり、
サイトAのフォルダ/vendor/および該当記述を移動しました。

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

サイトAのフォルダ/vendor/および該当記述をサイトBに移動したところ、
フォルダ/vendor/と、フォルダ/googlecalendar/の内部記述が競合するようで
先に記述した方のみ動作し、あとに記述した方は動作しません。
どちらを先にしても、先にした方のみの動作になってしまいます。
こちらを両方、動作するよう修正したいです。
何卒、お知恵をお貸しいただければ幸いです。

エラーメッセージ
Fatal error: Uncaught Error: Class 'Google_Service_Sheets' not found in /home/c0068587/public_html/cachie.jp/_test/thanks.php:1511 Stack trace: #0 /home/c0068587/public_html/cachie.jp/_test/thanks.php(1536): GoogleSheetsAPISample->__construct() #1 {main} thrown in /home/c0068587/public_html/cachie.jp/_test/thanks.php on line 1511

該当のソースコード

PHP

1<?php header("Content-Type:text/html;charset=utf-8"); ?> 2<?php 3//メールフォーム部分 4?> 5 6<?php 7require_once __DIR__.'/vendor/autoload.php'; 8//スプレッドシート追記処理(A) 9 10<?php 11require_once __DIR__.'/googlecalendar/google-api-php-client/src/Google/autoload.php'; 12//Googleカレンダー追記処理(B) 13?> 14

質問者の知識レベル

  • PHPに関しては勉強中で、ネットの指南サイトから流用して使ったり少し調整程度はできるくらいのレベルです。
  • Google APIの仕様についても知識が浅いです・・・
  • ComposerはサイトAを作成する際、はじめて使用しました。

(普段はWPや、HTML/CSSを触ることが多いです)

試したこと

  • 一方の「require_once DIR.'/~~/autoload.php';」をコメントアウトしただけでは動かない

 バージョンが違うためなのか、内容そのものに差異があるためなのかわかりません
(A,Bどちらのものを残しても×)

  • ** /vender/の中身を「"google/apiclient": "^2.7"」のものにしてみると A,Bどちらも動かなくなった**

これを両方動くようにできれば、一番理想なのですが・・・

  • ** 名前空間を作ったりを試みたが、うまく動作せず**

ただの知識不足かもしれません

補足情報(FW/ツールのバージョンなど)

各ソースの詳細は、ほぼ下記の参考サイト通りとお考えください。

サイトAサイトB
機能Google SpreadSheetGoogle Calendar
使用APIのフォルダ/vendor//googlecalendar/
使用APIのバージョン2.01.1.7
参考にしたサイトhttps://www.spiceworks.co.jp/blog/?p=10254https://qiita.com/niiyz/items/30fab61adc4fcf87b98a

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問