現在、初心者ですがwebプログラムの勉強中です。
Google Calendar APIをやろうと思っているのですが、
PHPのライブラリーをインストールして一緒にインストールしたsimple.phpを動かそうとすると失敗します。
simple.phpにClientId, ClientSecret, RedirectUri, DeveloperKeyを入力してindex.phpとして保存しています。
そこにアクセスするとアクセス認証画面になり、許可をするとredirectでそのindex.phpに帰ってくるようになっているのですが、帰ってきてから
$calList = $cal->calendarList->listCalendarList();
の行で止まります。
アクセスを認証した状態でClientId, ClientSecret, RedirectUri, DeveloperKeyの行をコメントアウトしてブラウザをリロードするとうまくいきます。
全くもってよく分かりません。
何か心当たりのある方、よろしくお願いします。
No.2ベストアンサー
- 回答日時:
エラーがちゃんと出てましたね。
あと、エラー内容を貼って頂いたのはいいのですが、API Keyはさすがに隠しましょう…。これは固有の情報なのでちょっと外に出るのは(あまり)よろしくないです。
で、Google Calendar APIのリファレンス
https://developers.google.com/google-apps/calend …
こちらを見ると、
・oauthで認証している必要がある
・パラメタとして指定できるのは以下の4つ
1)maxResults
2)minAccessRole
3)pageToken
4)showHidden
と書いていますね。なので余計なパラメタが付与されたことによってAPI側でエラーを出しているのではないかと思われます。
今のところ英語しかないのでちょっとめんどくさいですが、自分がやりたいことを実現するためのAPIはどのような仕様かを確認するために、必ずAPIリファレンスを参照して下さい。
サンプルプログラムを使われているようですが、OAuthとAPIの仕様さえ分かれば自分でいちから作ることも可能ですので。
API key含まれてますねorz
見落としていました。気をつけます。
初心者の質問にお付き合いいただきありがとうございました。
おかげで先に進むことができました。
No.1
- 回答日時:
行で止まるというのはエラーが出るということなのでしょうか?
エラーが出るのであればエラーの内容を提示しない限り第三者には全く分かりません。
とりあえず認証ができているのであれば、$cal変数を出力してみてはどうですか?
var_dump($cal);
die();
これで$cal変数の中身がブラウザに出力されますので、メンバ変数や値がちゃんと入っているかどうかなどをまず調べましょう。
回答ありがとうございました。
エラーは以下のようになっていました。
Fatal error: Uncaught exception 'Google_ServiceException' with message 'Error calling GET https://www.googleapis.com/calendar/v3/users/me/ … (403) Access Not Configured' in /var/www/html/temp-space/google_calendar/src/io/Google_REST.php:66 Stack trace: #0 /var/www/html/temp-space/google_calendar/src/io/Google_REST.php(36): Google_REST::decodeHttpResponse(Object(Google_HttpRequest)) #1 /var/www/html/temp-space/google_calendar/src/service/Google_ServiceResource.php(186): Google_REST::execute(Object(Google_HttpRequest)) #2 /var/www/html/temp-space/google_calendar/src/contrib/Google_CalendarService.php(154): Google_ServiceResource->__call('list', Array) #3 /var/www/html/temp-space/google_calendar/index.php(35): Google_CalendarListServiceResource->listCalendarList() #4 {main} thrown in /var/www/html/temp-space/google_calendar/src/io/Google_REST.php on line 66
PHPのエラー出力をはじめてやったのでよく分かりません。勉強不足で申し訳ないです。
あと、どうやらOAuthでユーザー認証するようなAPIについてはdeveloperKey(API key)は不要のようです。
DeveloperKeyを入力する行だけをコメントアウトしたらうまくいきました。
DeveloperKeyは無視してくれるとGoogleのサイトには書いてあるのですが。。。
とにかく、質問で書いた問題は解決出来ました。
なぜこれでうまくいくのかを理解することが重要かと思いますので、もし何かアドバイスがあればお願いします。
しばらくしてから質問受け付けを締め切りたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP WordpressのPHPを安全に編集する方法 1 2022/08/04 01:43
- その他(プログラミング・Web制作) .htaccessファイルの修正がこれで問題ないかどうか 1 2022/04/21 08:42
- PHP PHPのセッション有効期限について 5 2023/06/14 12:40
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- Windows 10 指定したファイルを任意の範囲のディレクトリ内に上書き保存したい 1 2022/11/24 10:42
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- その他(ブラウザ) このページは動作していません HTTP ERROR 401 2 2022/11/28 12:11
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで#N/Aを含めた平均値...
-
ドメインに参加しようとするとD...
-
MacでKCFErrorDomainCFNetwork ...
-
RealVNCで管理していたサーバを...
-
Excel2000のマクロが2007で型が...
-
循環参照にならない方法があっ...
-
検索をかけた時、ページを開け...
-
Ocn モバイルONE の1GB 追加
-
WSUSインストール時に設定ウィ...
-
android studioエラー
-
BASIC認証エラー時の表示HTML指定
-
エクセル2000マクロインデ...
-
NTPサーバをホスト名設定でエラ...
-
Windows10 エラーメッセージ
-
MXレコードのエラー?
-
outlookメールのDNSサーバーエラー
-
Access 2000で作成したファイル...
-
BIOSでハードディスクエラーの...
-
エクセルVBA 関数エラー箇所を...
-
CDManipulatorでのCCCDコピーに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで#N/Aを含めた平均値...
-
循環参照にならない方法があっ...
-
アウトルックで送信時に「名前...
-
検索をかけた時、ページを開け...
-
ドメインに参加しようとするとD...
-
.NETでActiveXコントロールを使う
-
MACアドレス 00:E0:C3 SAKAI って
-
エクセルVBA 関数エラー箇所を...
-
応答を解析できません
-
マクロでのエラーについて
-
BASIC認証エラー時の表示HTML指定
-
Ocn モバイルONE の1GB 追加
-
vsftpd 大量転送で時たま途中で...
-
/var/log/messagesエラー出力
-
エクセル #N/Aを印刷時に表示...
-
クライアントが切断されました。
-
android studioエラー
-
プロファイルエラー
-
ロイロノートのエラーについて ...
-
【QnapNAS】不良HDDと診断され...
おすすめ情報