technique:python:api_python

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:python:api_python [2020/04/11 02:26] – modification externe 127.0.0.1technique:python:api_python [2024/04/02 15:08] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== API en Python ====== +**Cette page est obsolèteVeuillez accéder au contenu à son nouvel emplacement : [[https://bibliotech.cemea.org/books/outils-technique/page/api-python|api-python]]**
- +
-https://deptinfo-ensip.univ-poitiers.fr/ENS/doku/doku.php/stu:python_reseau:webapis +
- +
-===== Cas de Mailgun ===== +
- +
-[[https://documentation.mailgun.com/en/latest/api-events.html#events|https://documentation.mailgun.com/en/latest/api-events.html#events]] +
- +
-jsonrpc +
- +
-1 endroit, 1 méthode, des paramètres +
-<code> +
- +
-import json +
- +
-import requests +
- +
-</code> +
- +
-On créer une sesssion (si plusieurs simultannée) +
- +
-<code> +
-session= LSession(url,api,key) +
- +
-</code> +
- +
-Clef de Session +
- +
-request.post : pour lancer la requete +
- +
-<code> +
-request.get(url/endpoint) +
- +
-</code> +
- +
-Le endpoint définit ce que l'on veut. +
- +
-json(string) → renvoie un dictionnaire +
- +
-request.json() → renvoie un dictionnaire +
- +
-def get-logs renvoie une reponse de type response +
- +
-response.json() : est un dictionnaire. +
- +
-Exemple python fourni par mailGun : +
- +
-<code python> +
-"""View a message using its Mailgun storage key.""" +
-import os +
-import sys +
-import requests +
-if len(sys.argv) != 2: +
-  print "Usage: retrieve.py message_key" +
-  sys.exit(1) +
-api_key = YOUR_API_KEY +
-# output filename +
-filename = "message.eml" +
-# url for retrieval +
-domain = "mailgun.com" +
-key = sys.argv[1] +
-url = "https://api.mailgun.net/v3/domains/%s/messages/%s" +
-url = url % (domain, key) +
-headers = {"Accept": "message/rfc2822"+
-# request to API +
-r = requests.get(url, auth=("api", api_key), headers=headers) +
-if r.status_code == 200: +
-  with open(filename, "w") as message: +
-    message.write(r.json()["body-mime"]+
-  os.system("thunderbird -file %s" % filename) +
-else: +
-  print "Oops! Something went wrong: %s" % r.content +
- +
- +
-</code> +
- +
-Pour les bounces +
- +
-<code> +
-def get_bounces (): +
-     return requests.get("https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/bounces",auth=("api","YOUR_API_KEY")) +
- +
-</code> +
- +
-On peut varier les endpoints (events…) +
- +
-Et la réponse reçue : +
- +
-<code python> +
-200 +
-+
-  "items": +
-    [ +
-      { +
-        "address": "alice@example.com", +
-        "code": "550", +
-        "error": "No such mailbox", +
-        "created_at": "Fri, 21 Oct 2011 11:02:55 GMT" +
-      }, +
-      ... +
-    ], +
-  "paging": +
-    { +
-      "first": <first page URL>, +
-      "next": <next page URL>, +
-      "previous": <previous page URL>, +
-      "last": <last page URL> +
-    } +
-+
- +
- +
-</code> +
- +
-A détailler… +
  • technique/python/api_python.1586564788.txt.gz
  • Dernière modification : 2020/04/11 02:26
  • de 127.0.0.1