2017-09-01 22 views
0

Googleサービスアカウントを使用してGoogleカレンダーのAPIをウェブアプリケーションに実装しています。GoogleカレンダーAPIイベント招待状がサービスアカウント認証を使用してGmail以外のアカウントに送信されない

私は文書の多くを研究していましたが、正確な解決策は見つかりませんでした。

1) "OAuth 2.0のクライアントID" の資格情報を使用:

は、私は次のことを試してみました。 - Googleカレンダーで予定を作成できます。 - また、すべての出席者(非Gmailアカウントを含む)に電子メールによる通知を送信します。 - しかし、欠点はGoogle認証(Googleログイン)が必要であることです。 - 私の要件として、誰もGoogleのログインなしでGoogleカレンダーのイベントで作成することができます。

2)「サービスアカウント」の資格情報を使用します。 - Googleカレンダーで予定を作成できます。 - 参加者間でのみGmailアドレスに電子メール通知を送信します。 - Googleログインの必要はありません。

私は第2の方法を好んでいました。

$rule = new Google_Service_Calendar_AclRule(); 
$scope = new Google_Service_Calendar_AclRuleScope(); 

$scope->setType("user"); 
$scope->setValue("[email protected]"); 
$scope->setValue("[email protected]"); 
$rule->setScope($scope); 
$rule->setRole("owner"); 

$client = new Google_Client(); 
$client->setApplicationName("Calendar Service"); 
$client->setAuthConfig('service_secrets.json'); 
$client->addScope(Google_Service_Calendar::CALENDAR); 
$calendar_service = new Google_Service_Calendar($client); 

$calendarList = $calendar_service->calendarList; 

$event_data = new Google_Service_Calendar_Event(array(
    'summary' => "Service Account Test Event", 
    'location' => 'Los Angeles', 
    'description' => 'This is extrieme test event', 
    'start' => array(
     'dateTime' => '2017-09-13T09:00:00-07:00', 
     'timeZone' => 'America/Los_Angeles', 
    ), 
     'end' => array(
     'dateTime' => '2017-09-13T17:00:00-07:00', 
     'timeZone' => 'America/Los_Angeles', 
    ), 
    'recurrence' => array(
     'RRULE:FREQ=DAILY;COUNT=2' 
    ), 
    'attendees' => array(
     array('email' => '[email protected]'), 
     array('email' => '[email protected]'), 
     array('email' => '[email protected]'), 
    ), 
    'reminders' => array(
     'useDefault' => FALSE, 
     'overrides' => array(
     array('method' => 'email', 'minutes' => 24 * 60), 
     array('method' => 'popup', 'minutes' => 10), 
    ), 
    ) 
)); 

$calendarId = '[email protected]'; 

$sendNotifications = array('sendNotifications' => true); 

$event_response = $calendar_service->events->insert($calendarId, $event_data, $sendNotifications); 

私の唯一の問題は、私はGmail以外のアカウントにイベント通知を送信することはできませんで電子メールがで受信しないことを意味します(hotmail.com、yopmail.com、等...)

示唆してくださいありこの問題を解決する方法はありません。

おかげ

+0

質問の中でfullCalendarライブラリに関するものがないため、質問からfullCalendarタグを削除しました。この質問に関係のないタグは使用しないでください。 – ADyson

+0

And ... "この問題を解決する方法はありますか?"何が問題なの?あなたは、問題やエラーメッセージなど何も言及していません。あなたはちょうどいくつかのコードを示しました。タイトルには何かがありますが、あまりにも漠然としています - 問題の適切な詳細は質問自体にあるべきです。 – ADyson

答えて

0

私は問題が「yopmail.com」ドメインであることを見つけます。他の電子メールドメインについてはうまくいきます。 Googleイベントの招待状は、Google通知の標準と規範に取り組んでいます。

関連する問題