IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

REST API / PayPal


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Par défaut REST API / PayPal
    Bonjour,

    J'essaye de recevoir un token d'accès Paypal en utilisant la REST API.

    D'après l'aide Paypal (https://developer.paypal.com/docs/in...ur-first-call/) il faut envoyer la requête suivante:

    Example access token request

    curl -v https://api.sandbox.paypal.com/v1/oauth2/token \
    -H "Accept: application/json" \
    -H "Accept-Language: en_US" \
    -u "EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp" \
    -d "grant_type=client_credentials"

    Tip: If you're using Windows, we recommend you make cURL calls using a Bash shell. If you're not using cURL calls, set the content-type to application/x-www-form-urlencoded for this request.


    Comment puis-je effectuer cette requête avec WINDEV?

    J'ai essayé ceci:

    ResLancement est un booléen = HTTPRequête("https://api.sandbox.paypal.com/v1/oauth2/token…", "", "", "", "application/x-www-form-urlencoded", ...
    "AXbxkuM99wCYxAmXvjEIuatEtn-R_p2IGltE8XN3wRw5tWhSJ9k7ipYZI7cCP", ...
    "EBH755DHKRVEb8ZVlAhUrqUx97qOMPtuW-QyZZS4VJ9cK0PY7wmVkWeSCp6O")

    Comment puis-je encore passer "grant_type=client_credentials"? Je ne sais pas où le spécifier et sous quelle forme.

    Je reçois une erreur: Invalid client: client credentials are missing

    Quelqu'un aurait-il un idée?

    Daniel

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 22
    Par défaut Requêtes REST/JSON
    Bonjour,

    Jettes un oeil sur le webinar réalisé par PCSoft.
    Il te donnera probablement la solution à ton problème.

    https://youtu.be/LTVZC2jOV3U

  3. #3
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Par défaut
    Citation Envoyé par Zorg44 Voir le message
    Bonjour,

    Jettes un oeil sur le webinar réalisé par PCSoft.
    Il te donnera probablement la solution à ton problème.

    https://youtu.be/LTVZC2jOV3U
    Bonjour,

    J'ai regardé ce webinar, mais il ne m'aide pas dans mon cas. Dans le webinar, tous les paramètres sont passés comme paramètres à l'url, mais j'ai essayé comme cela et ça n'a pas fonctionné.

    Daniel

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 22
    Par défaut
    Citation Envoyé par dvarrin Voir le message
    Bonjour,

    J'ai regardé ce webinar, mais il ne m'aide pas dans mon cas. Dans le webinar, tous les paramètres sont passés comme paramètres à l'url, mais j'ai essayé comme cela et ça n'a pas fonctionné.

    Daniel
    J'ai eu le même type de cas à gérer mais pour attaquer l'API de Zendesk.
    J'ai mis un peu de temps à comprendre le fonctionnement mais c'est cette solution qu'il faut utiliser.
    Par contre il faut vraiment bien lire toute la documention de l'API, car parfois il y a des subtilités.

    ci-dessous un exemple de code que j'ai utilisé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    MaReq est une restRequête
    LaRéponse est une restRéponse
    NewParameters est une chaîne
     
    //MISE A JOUR ZENDESK DES LIGNES DE L'ETAT
     
    //Préparation et envoi des données à Zendesk
    NewParameters = [
        {"ticket":
        {    "comment": 
        {    "public":false,
            "body": "un message"
        },
        "custom_fields":[
            {    "id":25309282,
                "value":"valeur 1"
            },
            {    "id":25250731,
                "value":"valeur 2"
            },
            {    "id":25194362,
                "value":"valeur 3"
            },
            {    "id":28281582,
                "value":"valeur 4"
            },
            {    "id":25250721,
                "value":"valeur 5"
        }]
        }
        }
        ]
     
     
    MaReq.URL = "URL DE L'API"
    MaReq.Méthode = httpPut ou httpGet ou httpPost
    MaReq.Utilisateur = Login
    MaReq.MotDePasse = Password
    MaReq.ContentType = "application/json"
    MaReq.Contenu = ChaîneVersUTF8(NewParameters)
     
    ThreadExécute("ExecuteRequete",threadNormal,HttpThread,MaReq)
    z est un entier = 0
    TANTQUE PAS ThreadAttend("ExecuteRequete")
        z++
        Multitâche(-2)
    FIN
    LaRéponse = VG_LaRéponse
    VariableRAZ(VG_LaRéponse)
     
     
    PROCEDURE HttpThread(MaReq est une restRequête)
        ThreadPause(100)
        VG_LaRéponse = RESTEnvoie(MaReq)

  5. #5
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Par défaut
    Citation Envoyé par Zorg44 Voir le message
    J'ai eu le même type de cas à gérer mais pour attaquer l'API de Zendesk.
    J'ai mis un peu de temps à comprendre le fonctionnement mais c'est cette solution qu'il faut utiliser.
    Par contre il faut vraiment bien lire toute la documention de l'API, car parfois il y a des subtilités.

    ci-dessous un exemple de code que j'ai utilisé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    MaReq est une restRequête
    LaRéponse est une restRéponse
    NewParameters est une chaîne
     
    //MISE A JOUR ZENDESK DES LIGNES DE L'ETAT
     
    //Préparation et envoi des données à Zendesk
    NewParameters = [
        {"ticket":
        {    "comment": 
        {    "public":false,
            "body": "un message"
        },
        "custom_fields":[
            {    "id":25309282,
                "value":"valeur 1"
            },
            {    "id":25250731,
                "value":"valeur 2"
            },
            {    "id":25194362,
                "value":"valeur 3"
            },
            {    "id":28281582,
                "value":"valeur 4"
            },
            {    "id":25250721,
                "value":"valeur 5"
        }]
        }
        }
        ]
     
     
    MaReq.URL = "URL DE L'API"
    MaReq.Méthode = httpPut ou httpGet ou httpPost
    MaReq.Utilisateur = Login
    MaReq.MotDePasse = Password
    MaReq.ContentType = "application/json"
    MaReq.Contenu = ChaîneVersUTF8(NewParameters)
     
    ThreadExécute("ExecuteRequete",threadNormal,HttpThread,MaReq)
    z est un entier = 0
    TANTQUE PAS ThreadAttend("ExecuteRequete")
        z++
        Multitâche(-2)
    FIN
    LaRéponse = VG_LaRéponse
    VariableRAZ(VG_LaRéponse)
     
     
    PROCEDURE HttpThread(MaReq est une restRequête)
        ThreadPause(100)
        VG_LaRéponse = RESTEnvoie(MaReq)
    Merci Zorg44! Je vais essayer.

    Je suis en version 18 encore, alors je dois utiliser HttpRequete(). Je ne sais pas comment passer "grant_type=client_credentials".
    J'ai juste écrit "grant_type=client_credentials", mais je pense que je dois en faire une chaine JSON:

    {"grant_type":"client_credentials"} et la convertir en UTF8.

    C'est tout ce qui me vient à l'esprit. J'espère que ça fonctionnera.

    Daniel

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 22
    Par défaut
    Citation Envoyé par dvarrin Voir le message
    Merci Zorg44! Je vais essayer.

    Je suis en version 18 encore, alors je dois utiliser HttpRequete(). Je ne sais pas comment passer "grant_type=client_credentials".
    J'ai juste écrit "grant_type=client_credentials", mais je pense que je dois en faire une chaine JSON:

    {"grant_type":"client_credentials"} et la convertir en UTF8.

    C'est tout ce qui me vient à l'esprit. J'espère que ça fonctionnera.

    Daniel
    Alors je te recommande de passer en version 21.
    J'ai galéré pas mal avec la version 19 et HttpRequete() sans succès.

    Avec le nouveau mode de traitement apparu en version 20, c'est beaucoup plus simple.

Discussions similaires

  1. [PayPal] REST API avec PayPal
    Par Jolt0x dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 29/07/2013, 16h40
  2. [PayPal] Demande Aide pour API Paypal NVP
    Par Kratos77 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 12/06/2012, 10h24
  3. API paypal sur mon site www.imvintage.fr
    Par melro dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 20/04/2010, 10h18
  4. [PayPal] API Paypal
    Par pluche dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 26/02/2010, 16h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo