2017-05-17 3 views
-1

Ich habe ein eckiges Projekt, das versucht, mit Google Kalender zu verbinden, auf diese Weise kann ich Buchungen einreichen und sie automatisch den Gmail-Kalender hinzugefügt. Dies funktioniert, aber nicht im richtigen Szenario. Dies ist die example Ich habe gefolgt, um es zum Laufen zu bringen.

Ich habe ein eckiges Projekt, das bei der Anmeldung überprüft, ob die Webanwendung die Berechtigung hat, den Kalender zu verwenden. Bei der Rückkehr verwendet es ein GET, um das Token in der Sitzung zu speichern, aber meine $_GET ist nicht definiert, wenn Sie mit der redirectUrl zurückgeben. Auch wenn der Parameter die URL in ist. Ich glaube, dass dies auf das eckige Routing zurückzuführen ist.

Bei der Anmeldung überprüfe ich, ob die $_SESSION['token'] gesetzt wurde, wenn nicht durch Javascript umleiten. $authUrl = $this->client->createAuthUrl(); und dann eine location.href = $authUrl um in Javascript umzuleiten. das funktioniert gut und Benutzer akzeptiert Erlaubnis und leitet auf der nächsten Seite zurück, die www.example.co.uk/index/dashboard?code=4%2F5NgsMp8JepEmXVgR8pez0fQdk_jTPonsuExdV8&authuser=0&session_state=2dfb836cfc217135f907c7e6c0d9c526983b6f..9103&prompt=none

ist aber, wenn ich ein $_GET['code'] dies ist nicht definiert versuchen, die diese Methode kann nicht laufen bedeutet, die das Token setzt:

if (isset($_GET['code'])) { 
     $this->client->authenticate($_GET['code']); 
     error_log("tou can access"); 
     $_SESSION['token'] = $this->client->getAccessToken(); 
     $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; 
     header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL)); 

    } 

print_r($_GET); Felder :

Array() 

.htacces Regeln:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*) /index.php/#/$1 
</IfModule> 

UPDATE Dies war der Fehler, weil ich ein separates PHP von einer AJAX-Anfrage geladen wurde, die nicht als Header festgelegt wurde. Sobald ich die Anforderung GET verlagerte, in die Datei eingefügt zu werden, die der Überschrift entsprach, funktionierte es.

+0

Was ist 'print_r ($ _ GET);'? – AbraCadaver

+0

@abracadaver Array \ n (\ n) \ n, – Bish25

+0

Wenn Sie sehen, dass die Seite "Dashboard" und nicht "dashboard.php" ist, haben Sie einige URL-Umschreibungen (.htaccess) oder andere, die diese möglicherweise entfernen. – AbraCadaver

Antwort