GoogleカレンダーAPIでイベントを挿入しようとしています。私はエラーがない、私は$event->hmtlLink
を持っているが、私が行くとき、Googleは私に "このイベントは存在しない"と言う。ここでGoogleカレンダーの予定が挿入されていますが、存在しません。
は、クライアントとサービスを得るために私のコードです:上の第一言語のprintfは私に良いリンクを送信
function createEvent($eventId, $name, $equipe, $location, $description, $startTimeDate, $endTimeDate, $timeZone){
$startTimeDate = new DateTime($startTimeDate);
$startTimeDate = date_format($startTimeDate, DATE_ISO8601);
$endTimeDate = new DateTime($endTimeDate);
$endTimeDate = date_format($endTimeDate, DATE_ISO8601);
$event = new Google_Service_Calendar_Event(array(
'id' => $eventId,
'summary' => join('',array("[",$equipe,"] ",$name)),
'location' => $location,
'description' => $description,
'start' => array(
'dateTime' => $startTimeDate,
'timeZone' => $timeZone,
),
'end' => array(
'dateTime' => $endTimeDate,
'timeZone' => $timeZone,
),
));
global $service, $calendarId;
$event = $service->events->insert($calendarId, $event);
printf($event->htmlLink);
printf($event->status);
printf($event->created);
}
、しかし:ここ
putenv("GOOGLE_APPLICATION_CREDENTIALS=" . __DIR__ . "/private/credentials.json");
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->setScopes(SCOPES);
$service = new Google_Service_Calendar($client);
$calendarId = "primary";
は、私は、イベントを作成するために使用する機能ですオープニング:イベントがありません
第2回「確認済み」
第3回目e good dateTime
同じIDのイベントを挿入しようとすると、このIDが既に存在するとのエラーが表示されます。しかし、カレンダーには何もありません...
私を助けてください! ありがとうございます。
ここで簡単に推測しますが、(資格情報ファイルで)イベントを作成している同じアカウントを使用して、htmlリンクを表示していることを確認してください - 別のGoogleアカウントがある場合は、追加されたイベントを表示するための適切な権限がありません。 –
私は別のアカウントで何も開発したことはありません。私の信用できるところでは、 'client_email'は良いものなので、良いアカウントだと思います。 –
イベントを追加するクレデンシャルがメールアドレス用のものである場合は、これらのクレデンシャルを使用して手動でカレンダーにログインし、ダイレクトリンクを使用せずにそのカレンダーとそれに接続されているイベントを確認できます。また、APIからの直接リンクを取得する方法については、この回答を確認してください。これを使用して、htmlLinkが同じ値を返すことを確認できます:http://stackoverflow.com/a/23469684/463935 –