Fehler mit Google Kalender-API - 401 Anmeldung erforderlich beim hinzufügen eines Kalenderereignisses

Als ich am entwickeln eines Export und Import in Google-Kalender-Anwendung mit Codeigniter und die Google-apiService/apiCalendarService. Ich habe alles eingestellt bis perfekt, kein problem mit diesem, wenn ich ermächtige meine Anwendung mit Google aus auf diese Seite:

Fehler mit Google Kalender-API - 401 Anmeldung erforderlich beim hinzufügen eines Kalenderereignisses

Den enthaltenen code ist, was passiert, wenn die Umleitung geschieht:

session_start();

require(APPPATH . 'libraries/google/apiClient.php');
require(APPPATH . 'libraries/google/contrib/apiCalendarService.php');

$apiClient = new apiClient();
$apiClient->setUseObjects(true);
$calendarService = new apiCalendarService($apiClient);

if(isset($_SESSION['oauth_access_token'])) 
{
    $apiClient->setAccessToken($_SESSION['oauth_access_token']);
} 
else 
{
    $token = $apiClient->authenticate();
    $_SESSION['oauth_access_token'] = $token;
}

Nach der Authentifizierung, die ich bekommen umgeleitet zu meiner localhost Website mit den Optionen in my URL:

http://localhost/project/acp/sync/auth/?code=4/DS91JtSJ5_9Q-Z55Kpyh2AicyWdL

Mein Skript erkennt, wenn ein authencation wurde durch die überprüfung der URI-segment mit auth und ein code query-string - so kann ich starten Sie den Import Veranstaltungen, um meinen Google-Kalender-Konto, bis, ich bekomme diese Fehlermeldung geworfen:

Fatal error: Uncaught exception 'apiServiceException' with message 'Error calling POST https://www.googleapis.com/calendar/v3/calendars/primary/events?key={removed API key}: (401) Login Required' in /Users/Me/Sites/project/application/libraries/google/io/apiREST.php:86
Stack trace:
#0 /Users/Me/Sites/project/application/libraries/google/io/apiREST.php(56): apiREST::decodeHttpResponse(Object(apiHttpRequest))
#1 /Users/Me/Sites/project/application/libraries/google/service/apiServiceResource.php(187): apiREST::execute(Object(apiServiceRequest))
#2 /Users/Me/Sites/project/application/libraries/google/contrib/apiCalendarService.php(493): apiServiceResource->__call('insert', Array)
#3 /Users/Me/Sites/project/application/controllers/acp/panel.php(2053): EventsServiceResource->insert('primary', Object(Event))
#4 [internal function]: Panel->sync('auth')
#5 /Users/Me/Sites/project/system/core/CodeIgniter.php(359): call_user_func_array(Array, Array)
#6 /Users/Me in /Users/Me/Sites/project/application/libraries/google/io/apiREST.php on line 86

Den code, dass war importieren ein Ereignis (code kam von Google-API-Beispiele):

session_start();

require(APPPATH . 'libraries/google/apiClient.php');
require(APPPATH . 'libraries/google/contrib/apiCalendarService.php');

$apiClient = new apiClient();
$apiClient->setUseObjects(true);
$service = new apiCalendarService($apiClient);

$event = new Event();
$event->setSummary('Appointment');
$event->setLocation('Somewhere');
$start = new EventDateTime();
$start->setDateTime('2011-06-03T10:00:00.000-07:00');
$event->setStart($start);
$end = new EventDateTime();
$end->setDateTime('2011-06-03T10:25:00.000-07:00');
$event->setEnd($end);
$attendee1 = new EventAttendee();
$attendee1->setEmail('attendeeEmail');
//...
$attendees = array($attendee1,
                   //...
                  );
$event->attendees = $attendees;
$createdEvent = $service->events->insert('primary', $event);

echo $createdEvent->getId();

Ich habe versucht, Googeln den Fehler, aber ich kann nicht scheinen zu finden, Lösungen, die mit dieser, weißt du, wie kann ich dieses problem beheben?

  • Wo stellen Sie Ihre developerKey?
  • Ich habe es in der config.php wo Sie normalerweise sollen.
  • Oh, ich sehe Sie einfach nicht gehören require_once "config.php";. Dann weiß ich nicht.
  • Die config.php wird aufgenommen in die apiService Klasse.
InformationsquelleAutor MacMac | 2012-03-02
Schreibe einen Kommentar