9
votes

Comment accéder au corps de la demande postale dans l'application Script en utilisant dopost (demande)

J'ai besoin d'accéder au corps brut d'une requête postale dans le script de Google App. Je vois qu'il y a quelque chose comme xxx

qui renvoie réellement la droite de la teneur brude du corps de la demande. J'ai donc pensé qu'il doit y avoir quelque chose pour obtenir le corps complet, par exemple En tant que chaîne.

Je ne cherche pas à accéder aux paramètres de champ de formulaire pouvant être transféré à l'aide de poteau.


0 commentaires

7 Réponses :


0
votes

Le moyen le plus simple de découvrir tout ce que vous avez accès est d'imprimer l'objet de la demande. xxx

puis effectuez un message à l'URL de votre script pour voir le contenu du journal


1 commentaires

Merci, pour l'indice, mais tout ce que je vois sont les paramètres et la longueur de contenance: logger.log ([{QueryString = null, paramètre = {}, contextPath =, paramètres = {}, contentementlength = 3}, []])



1
votes

Vous pouvez accéder au corps brut d'un message en créant un blob du paramètre. Vous pouvez ensuite appeler diverses méthodes sur l'objet BLOB tel que Getbytes () ou GetDataString (). Les fonctions sont énumérées ici .

function doPost(event) {
  var contentBlob = event.parameter.thefile;
  var contentAsString = contentBlob.getDataAsString();
  var bytes = contentBlob.getBytes();
  // do something with the contents ...
}


2 commentaires

Des thaks pour le pointeur, mais événement.paramètre semble être vide si je ne fournis pas un corps de formulaire multi-pièces, non? Notez que je ne cherche pas un moyen d'accéder à un champ de formulaire à plusieurs parties, mais cherchez un moyen de traiter la teneur complète du corps de poste brut.


L'accès à un fichier téléchargé est différent de l'accès au corps de la demande et, malheureusement, je ne pense pas qu'il soit actuellement possible d'accéder au corps de poste. J'ai également ajouté une réponse à cet effet: Stackoverflow.com/a/13715445/5295



1
votes

Je ne pense pas qu'il soit actuellement possible d'accéder à l'organisme de poste, disons à mettre en œuvre un service de repos. J'ai soumis un demande d'amélioration pour ce ; Si vous avez trébuché sur celui-ci, n'hésitez pas à l'étoiler pour voter sur cette question.


0 commentaires

0
votes

Selon la nature de ce que vous essayez de faire et quel contrôle vous avez sur l'origine de la demande postale, vous pourrez peut-être vous intégrer à l'API du lecteur. Si les données postales peuvent être envoyées au compte de lecteur de l'utilisateur sous forme de fichier (contenant des données JSON brutes par exemple), votre script pourrait ensuite localiser ce fichier, charger son contenu, faire tout ce dont vous en avez besoin (mettez-le dans une feuille de calcul par exemple ), et éventuellement la corbeille le fichier d'entraînement. Cela suppose, bien sûr, que vous contrôlez comment la demande postale est envoyée. Un flux de travail pourrait impliquer:

  1. Le client envoie la demande postale avec les données sur le compte de lecteur d'utilisateur (étiquette ou fichier de noms à identifier facilement ultérieurement)
  2. À la fin de la création de fichier d'entraînement, le client envoie une demande à votre script avec le paramètre "Méthode = Coumedata" ou telle
  3. Votre script vérifie le compte de lecteur de l'utilisateur à l'aide du service DOCLIST et récupère tous les fichiers téléchargés pour votre script

    Je n'ai pas encore essayé cela, mais devriez travailler!


0 commentaires


1
votes

Cela devrait également fonctionner.

function doPost(e) {

  if(typeof e !== 'undefined')
    Logger.log(e.parameter);

}


1 commentaires

Cela enregistre simplement les paramètres. La question est d'accéder au corps de la demande post-demande - (en-tête)