2017-03-14 2 views
0

mes excuses si je manque quelque chose évidente dans cette question ...Enregistrement Google API client en PHP

Je dispose d'un fichier index.php où j'INITIALISER un client Google, définissez les champs d'application, créer un service et commencer à tirer les données de Google Tenancy. Cela fonctionne bien.

<?php 
require_once 'vendor/autoload.php'; 

const CLIENT_ID = MY CLIENT ID; 
const CLIENT_SECRET = MY SECRET; 
const REDIRECT_URI = REDIRECT URI; 


session_start(); 

$client = new Google_Client(); 
$client->setApplicationName("My Application"); 
$client->setClientId(CLIENT_ID); 
$client->setClientSecret(CLIENT_SECRET); 
$client->setRedirectUri(REDIRECT_URI); 
$client->setScopes('admin scopes'); 


$adminservice = new Google_Service_Directory($client); 

Mon problème, je veux obtenir un ID de l'utilisateur de l'API AdminDirectory puis passer à une nouvelle page, user.php, avec l'id tag GET.

Ainsi, par exemple:

<?php 
$id = $adminservice->users->get(EMAIL)->id; 
?> 

<a href = 'user.php?id=<?php echo $id; ?>'>Click Here</a> 

Comment puis-je transférer ma variable $ client vers cette nouvelle page user.php?

J'ai essayé de mettre le client dans $ _SESSION ['client'], puis de l'extraire sur la nouvelle page. J'ai également essayé de réinitialiser l'ensemble du client. Ni l'un ni l'autre ne semblent fonctionner.

Merci

+0

Je sais que "portées d'administration" n'est pas une portée valide, je ne faisais que raccourcir les portées réelles. Le client fonctionne :) – joshnik

+0

Vous ne pouvez pas transférer une instance entre des demandes de page car les méthodes de la classe ne peuvent pas être sérialisées. Vous devez utiliser le même code, 'new Google_Client();'. – DanFromGermany

Répondre

0

Vous devez importer la classe sur la page user.php:

require_once 'vendor/autoload.php'; 

Ensuite, stocker l'objet de la session:

$_SESSION['googleclient'] = $client; 

Maintenant, pour obtenir sur l'autre page faire:

$client = $_SESSION['client']; 

Si vous avez besoin de plus d'aide, regardez ceci: move object from 1 page to another?