0

Google APIコンソールによって生成されたすべてのクライアントID、クライアントシークレット、APIキー、トークンの認証コードなどがあります。また、カレンダーサービスを有効にしました。1 つのカレンダーを編集できる 2 人のチームを作りました。ここで、両方のアカウントにログインせずにそのカレンダーにイベントを追加できるようにコーディングしたいと思います。カレンダーを表示するためにログインを求めており、明らかにイベントを追加できません。私はoauth 2.0などのような多くのチュートリアルを紹介されましたが、正確なアイデアが得られませんでした。それは可能でしょうか?

<?php
require_once 'google-api-client/src/Google_Client.php';
require_once 'google-api-client/src/contrib/Google_CalendarService.php';
session_start();
$client = new Google_Client();
$client->setApplicationName("Google Calendar PHP Starter Application");
// Visit code.google.com/apis/console?api=calendar to generate your
// client id, client secret, and to register your redirect uri.
$client->setClientId('client id');
$client->setClientSecret('cliet secret');
$client->setRedirectUri('my calendar url generated after clicking to HTML button');
$calendarListEntry = new Google_CalendarListEntry("My calendar entry");
$calendarListEntry->setId("ajoshi.kraff@gmail.com");
$createdCalendarListEntry = $cal->calendarList->insert($calendarListEntry);
echo $createdCalendarListEntry->getSummary();
4

1 に答える 1

0

そのような状況はgoogle docs に記載されています。

ユーザーが正しい認証情報を提供すると、Google OAuth サーバーはユーザーをサービスにリダイレクトし、アクセス トークン(リクエストに署名するためにすぐに使用できます) と、新しいアクセス トークンを取得するために使用できる更新トークンを提供します。アクセス トークンは期限切れになるため、新しいアクセス トークンを取得する必要があります。リフレッシュ トークンを使用すると、たとえばバックグラウンド サービスで、ユーザーの存在なしで新しいアクセス トークンを取得できます。そのため、更新トークンをデータベース (または任意の場所) に保存する必要があります。

このドキュメント ページをチェックしてください: https://developers.google.com/accounts/docs/OAuth2WebServer

于 2012-11-23T12:52:51.397 に答える