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

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    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 à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 22
    Points : 17
    Points
    17
    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
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    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 à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 22
    Points : 17
    Points
    17
    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
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    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 à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 22
    Points : 17
    Points
    17
    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.

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Zorg44 Voir le message
    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.
    Aïe! ça promet alors ;-)

    Je vais juste essayer cela alors et sinon j'insiste pas avant d'avoir la version 21.

    Merci Zorg44!

    Daniel

  8. #8
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par dvarrin Voir le message
    Aïe! ça promet alors ;-)

    Je vais juste essayer cela alors et sinon j'insiste pas avant d'avoir la version 21.

    Merci Zorg44!

    Daniel
    Toujours sans succès! Si quelqu'un parvient à recevoir un token à l'aide de l'api REST Paypal avec Windev je suis très intéressé.

    Daniel

  9. #9
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    En Windev 19, mais y'a de forte chance que cela passe en 18 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    soit auth = Crypte("EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp", "", compresseAucun, encodeBASE64)
    auth = Remplace(auth, CRLF, "")
     
     
    soit header = "Authorization: Basic " + auth
    soit param = "grant_type=client_credentials"
     
     
    SI HTTPRequête("https://api.sandbox.paypal.com/v1/oauth2/token", "", header, param) ALORS
        soit res = HTTPDonneRésultat(httpRésultat)
        Trace(res)
    FIN
    P.S. Quand tu cibles une version de windev spécifique indique le dans le titre du sujet
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  10. #10
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par DelphiManiac Voir le message
    En Windev 19, mais y'a de forte chance que cela passe en 18 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    soit auth = Crypte("EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp", "", compresseAucun, encodeBASE64)
    auth = Remplace(auth, CRLF, "")
     
     
    soit header = "Authorization: Basic " + auth
    soit param = "grant_type=client_credentials"
     
     
    SI HTTPRequête("https://api.sandbox.paypal.com/v1/oauth2/token", "", header, param) ALORS
        soit res = HTTPDonneRésultat(httpRésultat)
        Trace(res)
    FIN
    P.S. Quand tu cibles une version de windev spécifique indique le dans le titre du sujet
    C'est génial DelphiManiac! Ca fonctionne parfaitement!

    Comment as-tu trouvé ce qu'il fallait mettre dans le header? Dans la documentation Paypal?

    Encore MERCI!! :-)

    Daniel

  11. #11
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Par analyse, avec fiddler, de la requête qui étais exécuté avec curl.
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  12. #12
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par DelphiManiac Voir le message
    Par analyse, avec fiddler, de la requête qui étais exécuté avec curl.
    Hello DelphiManiac,

    Je vais essayer fiddler. Je voudrais faire un "simple" paiement paypal, alors je dois encore regarder comment écrire les autres requêtes.

    Je risque d'avoir besoin de ton aide encore :-)

    En tout cas merci!

    Daniel

  13. #13
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par dvarrin Voir le message
    Hello DelphiManiac,

    Je vais essayer fiddler. Je voudrais faire un "simple" paiement paypal, alors je dois encore regarder comment écrire les autres requêtes.

    Je risque d'avoir besoin de ton aide encore :-)

    En tout cas merci!

    Daniel

    Hello DelphiManiac,

    J'ai install cUrl et Fiddler 2 sous Windows 10, mais les requêtes ne sont pas interceptées par fiddler. J'ai mis toutes les applications dans EnableFeedback, mais ça ne fonctionne toujours pas?

    Aurais-tu une idée?

    Daniel

  14. #14
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Filddler implémente un proxy web, ce qui lui permets de capturer les requêtes http.

    Lorsque fiddler démarre, il indique à windows qu'il est installé et que les requêtes http doivent passer par son proxy. Ceci fonctionne si l'application vérifie les paramètres de windows et détecte le proxy, ce qui n'est pas le cas de curl.

    Pour curl, il faut ajouter une option à la ligne de commande -x (voir doc), on aura donc quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl -... -... -xhttp://localhost:<portDuProxyFiddler>
    le port du proxy fiddler est défini dans les options de fiddler. Le port par défaut, de mémoire, est le 8888, ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl -... -... -xhttp://localhost:8888
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  15. #15
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par DelphiManiac Voir le message
    Filddler implémente un proxy web, ce qui lui permets de capturer les requêtes http.

    Lorsque fiddler démarre, il indique à windows qu'il est installé et que les requêtes http doivent passer par son proxy. Ceci fonctionne si l'application vérifie les paramètres de windows et détecte le proxy, ce qui n'est pas le cas de curl.

    Pour curl, il faut ajouter une option à la ligne de commande -x (voir doc), on aura donc quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl -... -... -xhttp://localhost:<portDuProxyFiddler>
    le port du proxy fiddler est défini dans les options de fiddler. Le port par défaut, de mémoire, est le 8888, ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl -... -... -xhttp://localhost:8888
    Hello DelphiManiac,

    Ca a l'air de fonctionner, mais dans Fiddler, je ne trouve pas les infos. Comme par exemple le texte "Authorization Basic" suivi du client_Id et du secret.

    Je vois uniquement dans la fenêtre "invite de commande" où j'ai lancé cUrl qu'il est écrit "Server auth using Basic with user '....'.

    J'ai aussi une erreur "Unknown SSL protocol error in connection to api.sandbox.paypal.com:443. Et la requête apparaît comme HTTP et pas HTTPS dans Fiddler. J'ai ajouté -sslV3 pour cUrl, mais je ne vois pas plus d'informations.

    A+
    Daniel

  16. #16
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut,

    Si tu as du mal avec fiddler il y a également l'excellent httpdebugger

    Bon DEV

  17. #17
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    La ligne de commande que j'avais utilisé étais celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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" --proxy http://localhost:10888 -k
    le -k, de mémoire, permets d'indiquer à curl de ne pas vérifier le certificat, vu que fiddler, pour tracer du https, est obligé de fournir un certificat, qui du coup n'est pas valide au vu de l'url que l'on utilise. (c'est le même problème qu'une attaque de type man in the middle en https)
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  18. #18
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par DelphiManiac Voir le message
    La ligne de commande que j'avais utilisé étais celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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" --proxy http://localhost:10888 -k
    le -k, de mémoire, permets d'indiquer à curl de ne pas vérifier le certificat, vu que fiddler, pour tracer du https, est obligé de fournir un certificat, qui du coup n'est pas valide au vu de l'url que l'on utilise. (c'est le même problème qu'une attaque de type man in the middle en https)
    Hello DelphiManiac,

    Merci pour ta réponse. Je n'ai pas réussi avec Fiddler. Je pense que j'ai un problème de configuration des paramètres. Mais j'ai réussi avec un autre logiciel "Charles".

    Comment as-tu fait pour déterminer qu'il fallait crypter le client-id et le secret en base64?

    Merci pour ton aide!
    Daniel

  19. #19
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Citation Envoyé par dvarrin Voir le message
    ...Comment as-tu fait pour déterminer qu'il fallait crypter le client-id et le secret en base64?
    Le == ou = à la fin de la chaîne, typique du base64, mais pas toujours présent. C'est aussi un manière courante d'encoder dans un flux tcp (http, smtp, ...). De plus, on passe en paramètre de cUrl la chaîne "EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp" et on ne la retrouve pas telle quelle, on se pose alors la question de savoir ou elle est :p

    https://fr.wikipedia.org/wiki/Base64
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  20. #20
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par DelphiManiac Voir le message
    Le == ou = à la fin de la chaîne, typique du base64, mais pas toujours présent. C'est aussi un manière courante d'encoder dans un flux tcp (http, smtp, ...). De plus, on passe en paramètre de cUrl la chaîne "EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp" et on ne la retrouve pas telle quelle, on se pose alors la question de savoir ou elle est :p

    https://fr.wikipedia.org/wiki/Base64
    Merci beaucoup pour ton aide DelphiManiac!

    Maintenant il me reste à faire pareil pour les autres requêtes REST dont j'ai besoin :-)

    Daniel

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