semble que la dernière version du client Google-API-php pour PHP ne fonctionne pas avec les docs @ https://developers.google.com/drive/web/examples/php p>
En regardant le code SRC, je vois que c'est la recherche de clés dans le JSON téléchargé que la méthode SETUTUHCONFIGFILE () ne peut pas trouver: client_secret, installé, Web, redirect_uris (autres?) ne sont pas présents dans le JSON téléchargé . Seulement privé_key_id, privé_key, client_email, client_id et type sont présents. P>
Le code et les documents semblent vraiment désorganisés et hors de synchronisation ... ne serait pas le premier pour Google. Quelqu'un a-t-il obtenu OAuth travaillant récemment en utilisant cette bibliothèque? P>
4 Réponses :
Il y a une différence entre un Lorsque vous créez une application Web, vous recevrez un Je suggérerais de lire ces pages pour choisir la clé et la connexion dont vous avez besoin (sur les deux pages que vous trouverez des exemples pour l'intégrer dans PHP): P>
Vous pouvez utiliser la bibliothèque cliente Google APIS pour PHP pour créer un Web.
Applications de serveur utilisant l'autorisation OAuth 2.0 pour accéder à Google
Apis. OAuth 2.0 permet aux utilisateurs de partager des données spécifiques avec un
application tout en gardant leurs noms d'utilisateur, mots de passe et autres
Information privée. Par exemple, une application Web peut utiliser OAuth 2.0
Pour obtenir la permission des utilisateurs pour stocker des fichiers dans leurs disques de Google. P>
blockQuote>
https://developers.google.com/api- Client-Bibliothèque / PHP / Auth / Web-App P>
Typiquement, une application utilise un compte de service lorsque l'application
Utilise Google API pour travailler avec ses propres données plutôt que sur les données d'un utilisateur.
Par exemple, une application qui utilise Google Cloud DataStore pour les données
La persistance utiliserait un compte de service pour authentifier ses appels à
L'API de Datastore de Google Cloud. P>
blockQuote>
https://developers.google.com/api- Client-Bibliothèque / PHP / Auth / Service-Comptes P> privé_key code>,
client_email code>,
client_id code> etc. p>
client_id code>,
client_secret code>,
redirect_uri code> etc. p>
Je comprends votre risque, vous avez un problème avec Google API. Dans Google API Console, il existe 3 types de fichiers JSON, l'un est Web, deuxième est le service et le dernier est installé. Le choix que vous avez beaucoup besoin d'utiliser est celui installé car vous obtiendrez une clé, installée ou autre .. p>
Il y a une nouvelle fonction dans la bibliothèque PHP qui se rapproche de cela, mais n'autorise pas la définition SUB, donc toujours une autorisation échoue. Donc, d'abord mettre à jour la fonction de bibliothèque PHP puis, ajoutez une valeur sous les données de votre serveur. Auth Json File: P> loadServiceAccountjson code> dans src / google / client.php à ceci:
$service = new Google_Service_Directory($client);
$optParams = array(
'domain' => 'google.domain.com',
'orderBy' => 'email',
'viewType' => 'domain_public',
'query' => "givenName:'Joe' familyName:'Schmoe Jr'"
);
$results = $service->users->listUsers($optParams);
$users = $results->getUsers();
print_r($users);
1) "Credentials_Path" doit pointer vers un fichier inexistant (dans un chemin d'écriture) p>
2) "client_secret_path" doit pointer sur le fichier de précisentiel de "CLIENT OUTUH 2.0", créé et téléchargé à partir de la console Google dans la section Critique de l'API. P>
Pour un script PHP côté serveur, comme le vôtre, faites attention lorsque vous créez l'enregistrement «CLIENT ID OUTUH 2.0»: sur l'assistant de création, vous devez sélectionner «Autre» type d'application et non le type «Web». p>
considère p>
Je suis sûr que je vais le trouver moi-même en dépensant des âges à la recherche de cela, mais où serait-ce?
Des mises à jour à ce sujet? Avoir le même problème ici.
@Nebezbriefkani j'ai eu le même problème. Dans mon cas, le fichier
client_secret.json code> était par défaut défini avec
lecture seule code> sur mac. J'ai fait
chmod 777 code> ( a donné des autorisations d'écriture i>) dans ce fichier, qui a fixé le problème.