6
votes

Comment puis-je appeler la fonction cloud appelable HTTP à partir de postman?

Je veux savoir que puis-je appeler la fonction cloud à partir du logiciel Postman. Lorsque j'appelle CF depuis Postman, il me donne toujours

 "error": {
        "status": "INVALID_ARGUMENT",
        "message": "Bad Request"
    }


3 commentaires

Pouvez-vous fournir l'exemple d'URL pour votre demande


avez-vous essayé avec curl? curl -X POST " YOUR_REGION-YOUR_PROJECT_ID.cloudfunctions.net/FUNCTION_NAM‌ E " -H " Content-Type: application / json "--data '{" name ":" Keyboard Cat "}'. ... Si cela fonctionne, faites le moi savoir ... alors nous essaierons aussi avec le facteur.


mettez à jour votre URL de demande dans la question pour la rendre plus claire


4 Réponses :


0
votes

Comme Googlian et Jabongg spécifiés dans les commentaires, nous avons besoin de plus d'informations sur la manière dont vous appelez l'URL dans votre projet.

Cependant, voici quelques informations générales sur Google Cloud Functions :

Vous pouvez consulter la documentation de Déclencheurs HTTP de Google Cloud Functions pour plus de détails sur comment fonctionne Cloud Functions déclenchées par HTTP.

Si vous créez une fonction Google Cloud avec déclencheur HTTP, vous pouvez trouver la fonction Cloud dans Menu de navigation> Fonctions Cloud . Cliquez sur le nom de la fonction Cloud et sous l'onglet Déclencheur , vous pouvez voir l'URL entière qui la déclenchera. Visitez ce lien dans un navigateur et voyez si la fonction Cloud fonctionne correctement. Vérifiez les journaux de la fonction Cloud en cliquant sur VOIR LES JOURNAUX . S'il n'y a pas d'erreurs dans les journaux après l'exécution de la fonction, vous pouvez appeler cette URL dans votre projet.

MISE À JOUR: J'ai installé le Postman sous Linux et essayé d'appeler la fonction Cloud moi-même et elle a fonctionné comme prévu. Postman a récupéré ma chaîne "Hello World" lorsque j'ai appelé la fonction à partir de là.


0 commentaires

2
votes

Dans Postman make post request, l'en-tête Content-Type doit être application / json , puis dans raw make json dans ce format

{
    "data": {
    "text":"hi how are you",
    "phoneNumbers":"+92123455679"
    }
}


1 commentaires

Je reçois un message d'erreur 401 en tant qu'utilisateur authentifié. Connaissez-vous des solutions pour cela?



1
votes

Peut-être aussi que la fonction cloud est protégée et peut être invoquée en ajoutant l'en-tête Authorization avec le jeton d'identité en tant que porteur.

Vous obtenez le jeton d'identité en exécutant

gcloud auth print-identity-token 


0 commentaires

1
votes

En utilisant la réponse de @ Vaaljan, j'ai pu authentifier une fonction cloud GCP que j'ai créée à l'aide de la méthode de déclenchement HTTP avec authentification requise:

Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6I ... bnRzLmdvb2dsZS5jb20i

Ensuite, je l'ai ajoutée à l'en-tête d'autorisation de la demande: p>

gcloud auth print-identity-token

Dans Postman: entrez la description de l'image ici


0 commentaires