2017-07-11 2 views
2

J'ai un OAuth 2.0 Server, et je l'ai avec succès implémenté jusqu'au dernier niveau en utilisant PHP
Retour un objet JSON dans le corps d'une réponse HTTPS

Référence Lien: https://developers.google.com/actions/identity/oauth2-code-flow

Cependant , im am sur la dernière étape maintenant qui dit

---> Retourne l'objet JSON suivant dans le corps de la réponse HTTPS

{ 
token_type: "bearer", 
access_token: "ACCESS_TOKEN", 
refresh_token: "REFRESH_TOKEN", 
expires_in: SECONDS_TO_EXPIRATION 
} 

Je l'ai fait ce qui suit

$json = array(
'token_type:' => "bearer", 
'access_token:' => $ACCESS_TOKEN, 
'refresh_token:' => $REFRESH_TOKEN, 
'expires_in:' => '3600' 

); 
    $jsonstring = json_encode($json); 
    echo $jsonstring; 
    die(); 

Dans ce $ACCESS_TOKEN et $REFRESH_TOKEN et deux variables contenant les informations nécessaires.
Ma question est comment puis-je retourner l'objet 'JSON dans le corps de la réponse HTTPS:'?

Cela voudrait dire beaucoup si quelqu'un peut m'aider à comprendre cela
Merci à l'avance!
S'il vous plaît visitez ce site, et voir que vous pouvez comprendre ce que je suis en train de faire alors :)
https://developers.google.com/actions/identity/oauth2-code-flow

+0

Avez-vous une erreur lorsque vous le testez? Qu'est-ce qui vous fait croire que vous avez un problème? Veuillez mettre à jour votre question avec des informations supplémentaires sur ce que vous voyez. – Prisoner

+0

Il est dit que j'ai besoin de retourner un objet JSON dans le corps de la réponse HTTPS. Je suis assez sûr de savoir comment faire:/ – Elo97234c

+0

ive créé un fichier json mais comment puis-je le retourner dans le corps de la réponse HTTPS? – Elo97234c

Répondre

2

La plupart de votre action semble être correcte. L'envoi de JSON en tant que corps nécessite deux étapes.

D'abord, vous devez définir l'en-tête de type de contenu pour indiquer que le corps est JSON. Vous doit le faire avant que toutes les autres données, y compris les lignes vides, soient sortis. Avoir ce droit après l'en-tête PHP sur la page est probablement une bonne pratique pour s'assurer que rien d'autre ne le génère. Cet en-tête est fait comme quelque chose comme

<?php 
header("Content-type:application/json"); 

Le reste de votre code semble correct. Envoyer un "objet JSON" signifie envoyer une représentation textuelle spécifiquement formatée des données. Ce formatage est effectué via json_encode().

$json = array(
    'token_type:' => "bearer", 
    'access_token:' => $ACCESS_TOKEN, 
    'refresh_token:' => $REFRESH_TOKEN, 
    'expires_in:' => '3600' 
); 
$jsonstring = json_encode($json); 
echo $jsonstring; 
+0

Après avoir ajouté l'en-tête fonctionne comme un charme! Merci – Elo97234c