title: Google Calendar API - Stop watching events
body: <p>I am creating an app to interact with Google Calendars and want to watch resources, but I also want the ability to stop watching them.</p>
  
  <p>When I try to un-watch I get the error <code>Error calling POST https://www.googleapis.com/calendar/v3/channels/stop: (403) Incorrect OAuth client</code></p>
  
  <p>I am using a service account and OAuth 2.0 to authenticate myself and have other API calls that work absolutely find so I know I am authorized. What am I doing wrong?</p>
  
  <p>These are some of the working API calls...</p>
  
  <pre><code>public function getEvents($calendarId, $opts = array())
  {
      $events = $this-&gt;calendarService-&gt;events-&gt;listEvents($calendarId, $opts);
      return $events;
  }
  
  public function getEvent($calendarId, $eventId)
  {
      $event = $this-&gt;calendarService-&gt;events-&gt;get($calendarId, $eventId);
      return $event;
  }
  
  public function watch($calendarId, $channelId, $listener)
  {
      $channel = new Google_Service_Calendar_Channel($this-&gt;client);
      $channel-&gt;setId($channelId);
      $channel-&gt;setType('web_hook');
      $channel-&gt;setAddress($listener);
  
      $watchEvent = $this-&gt;calendarService-&gt;events-&gt;watch($calendarId, $channel, array());
      return $watchEvent;
  }
  </code></pre>
  
  <p>This is the stop API call...</p>
  
  <pre><code>public function stopWatch($channelId, $resourceId)
  {
      $channel = new Google_Service_Calendar_Channel($this-&gt;client);
      $channel-&gt;setId($channelId);
      $channel-&gt;setResourceId($resourceId);
  
      $watchEvent = $this-&gt;calendarService-&gt;channels-&gt;stop($channel);
      return $watchEvent;
  }
  </code></pre>
  
  <p>Any ideas on how to get this working?</p>