1

私はGoogleアカウントを持っており、カレンダーリストに3つのGoogleカレンダーがあります。選択したGoogleカレンダーで予定を作成しようとしています。私はPHPを使用しています。同じアカウントで選択したGoogleカレンダーの予定を作成する

here is list of google calendars. 
+----------------------+-----------------------------------------------+ 
| calName    | calid           | 
+----------------------+-----------------------------------------------+ 
| [email protected]  | [email protected]       | 
| Contacts    | #[email protected]   | 
| Holidays in India | en.indian#[email protected] | 
+----------------------+-----------------------------------------------+ 

[email protected]は「primary」です。このカレンダーでイベントを作成すると、PHPを使用してイベントが正常に作成されました。

しかし、 "Contacts, Holidays in India"カレンダーでイベントを作成しようとすると、これらのカレンダーにPHPを使用してイベントが作成されることはありません。

マイコード:

  $event = new Google_Service_Calendar_Event(array(
      'summary' => $eventname, 
      'location' => $address, 
      'description' => $description, 
      'start' => array(
       'dateTime' => $s, 
       'timeZone' => $timezone, 
      ), 
      'end' => array(
       'dateTime' => $e, 
       'timeZone' => $timezone, 
      ), 
      'attendees' => array(
       array('email' => $contactemail), 
      ), 
      'reminders' => array(
       'useDefault' => FALSE, 
       'overrides' => array(
       array('method' => 'email', 'minutes' => 24 * 60), 
       array('method' => 'popup', 'minutes' => 10), 
      ), 
      ), 
     )); 

$calid = 'en.indian#[email protected]'; // this is static for now 

     $event = $service->events->insert($calid, $event); 

エラー:


Fatal error: Uncaught exception 'Google_Service_Exception' with message 'Error calling POST https://www.googleapis.com/calendar/v3/calendars/en.indian%23holiday%40group.v.calendar.google.com/events : (403) Forbidden' in /var/www/myinvitebig.com/vendor/google/apiclient/src/Google /Http/REST.php:110 Stack trace: #0 /var/www/myinvitebig.com/vendor/google/apiclient/src/Google/Http/REST.php(62): Google_Http_REST::decodeHttpResponse(Object(Google_Http_Request), Object(Google_Client)) #1 [internal function]: Google_Http_REST::doExecute(Object(Google_Client), Object(Google_Http_Request)) #2 /var/www/myinvitebig.com/vendor/google/apiclient/src/Google/Task/Runner.php(174): call_user_func_array(Array, Array) #3 /var/www/myinvitebig.com/vendor/google/apiclient/src/Google/Http/REST.php(46): Google_Task_Runner->run() #4 /var/www/myinvitebig.com/vendor/google/apiclient/src/Google/Client.php(593): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_Request)) #5 /var/www/myinvitebig.com/vendor/google/apiclient/src/Google/Ser in /var/www/myinvitebig.com/vendor/google/apiclient/src/Google/Http/REST.php on line 110

答えて

1

'en.indian#[email protected]'

2014でGoogleカレンダーにロールアウトされた多くの休日カレンダーの一つです。これらは、Googleカレンダー内の誰でも公開カレンダーとして登録できます。しかし、あなたが上記のカレンダーに登録しているだけで、あなたがそれに書き込み権限を持っているわけではありません。ホリデーカレンダーの場合は、読み取り専用のアクセス権があります。

(403) Forbidden

あなたがしようとしていることを実行する権限を持っていないことを意味します。この場合、イベントをカレンダーに追加する際には、個人的に書き込み権限がありません。

関連する問題