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

API, COM et SDKs Delphi Discussion :

Utiliser l'API OVH avec Delphi


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre confirmé
    Homme Profil pro
    Responsable R&D
    Inscrit en
    Novembre 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 64
    Par défaut Utiliser l'API OVH avec Delphi
    Bonjour,

    quelqu'un a déjà utilisé les API OVH avec Delphi ?
    Je souhaiterai inclure de la redirection de mail donc mon programme.
    L'API est en REST mais tous les Wrappers existant sont basé langage Web (PHP, Python, etc..).
    Si quelqu'un a une idée ou un bout de code dans ses tiroirs...

    Merci

    ads

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 104
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 104
    Par défaut
    Bonsoir,
    Citation Envoyé par ads42 Voir le message
    Si quelqu'un a une idée ou un bout de code dans ses tiroirs...
    Ah, d'habitude c'est les gens de Lazarus qui se perdent chez Delphi, ce soir c'est l'inverse,

  3. #3
    Membre chevronné Avatar de der§en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 047
    Par défaut
    Faut dire aussi que le forum Lazarus est plus actif que celui de Delphi de nos jours

  4. #4
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par ads42 Voir le message
    Bonjour,

    quelqu'un a déjà utilisé les API OVH avec Delphi ?
    Je souhaiterai inclure de la redirection de mail donc mon programme.
    L'API est en REST mais tous les Wrappers existant sont basé langage Web (PHP, Python, etc..).
    Si quelqu'un a une idée ou un bout de code dans ses tiroirs...

    Merci

    ads
    j'utiliser l'API SMS mais ce doit être me même principe, tout cela est très standard.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre confirmé
    Homme Profil pro
    Responsable R&D
    Inscrit en
    Novembre 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 64
    Par défaut
    Merci pour le déplacement de message.

    Bonjour Paul,

    si tu utilises l'API REst oui c'est la même chose que pour les SMS.
    Tu utilises quels composants pour te connecter à L'API ?
    Tu fais comment pour passer toutes les clés d'authentification ?
    Cordialement

  6. #6
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par ads42 Voir le message
    Merci pour le déplacement de message.

    Bonjour Paul,

    si tu utilises l'API REst oui c'est la même chose que pour les SMS.
    Tu utilises quels composants pour te connecter à L'API ?
    Tu fais comment pour passer toutes les clés d'authentification ?
    Cordialement
    j'utilise tout simplement TIdHTTP

    voici comme j'initialise le composant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // paramétrage du lien ssl
      SSL := TIdSSLIOHandlerSocketOpenSSL.Create;
      SSL.SSLOptions.Method := sslvSSLv23;
      SSL.SSLOptions.SSLVersions := [sslvSSLv2, sslvSSLv3, sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];
     
    // paramétrage du requeteur HTTP
      HTTP := TIdHTTP.Create;
      HTTP.IOHandler := ssl;
      HTTP.Request.CharSet := 'utf-8';
      HTTP.Request.ContentType := 'application/json';
      HTTP.Request.Accept := 'application/json';
    la signature de la requête s'ajoute comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      HTTP.Request.CustomHeaders.Add('X-Ovh-Application: ' + cAK);
      HTTP.Request.CustomHeaders.Add('X-Ovh-Consumer: ' + cCK);
      HTTP.Request.CustomHeaders.Add('X-Ovh-Signature: ' + Sign);
      HTTP.Request.CustomHeaders.Add('X-Ovh-Timestamp: ' + Time);
    voilà pour la partie purement Delphi, pour le reste il faut suivre les spécifications... je ne peux pas publier mon code, désolé
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Membre confirmé
    Homme Profil pro
    Responsable R&D
    Inscrit en
    Novembre 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 64
    Par défaut
    Bonjour Paul,

    merci je testerai ça lundi matin.
    Pour la signature il est précisé :
    "$1$" + SHA1_HEX(AS+"+"+CK+"+"+METHOD+"+"+QUERY+"+"+BODY+"+"+TSTAMP)
    tu utilises quoi pour le SHA1 ?

    Merci et bonne fin de Week-end

  8. #8
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    avec TIdHashSHA1.HashBytesAsHex
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  9. #9
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 674
    Billets dans le blog
    2
    Par défaut
    Je ne connais pas l'API d'OVH mais si c'est du REST, le principe est le même quelque soit l'API REST utilisée.
    Il y a quelques mois, Embarcadero avait organisé un petit concours de programmation dont le sujet était d'utiliser les API REST de la NASA. Les sources des projets ayant participé au concours sont disponibles sur GitHub. Cela peut fournir des exemples d'utilisation d'API REST. Le concours s'est déroulé avec la version Berlin de Delphi ou C++ Builder (à titre perso, j'avais proposé le projet Delphi sur le rover Curiosity).

    La page officielle du concours avec les liens vers les projets présentés (et pour chaque projet son lien GitHub) est la suivante : https://community.embarcadero.com/co...sa-api-mash-up
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  10. #10
    Membre confirmé
    Homme Profil pro
    Responsable R&D
    Inscrit en
    Novembre 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 64
    Par défaut
    Merci Paul,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      SSL.SSLOptions.SSLVersions := [sslvSSLv2, sslvSSLv3, sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];
    Je suis sous Delphi 2010 et je n'ai pas la propriété SSLVersions . elle est importante ? il y a t il moyen de la specifier autrement ?
    Sinon ça concerne quelle version ?

    Merci

    Cordialement

  11. #11
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par ads42 Voir le message
    Merci Paul,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      SSL.SSLOptions.SSLVersions := [sslvSSLv2, sslvSSLv3, sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];
    Je suis sous Delphi 2010 et je n'ai pas la propriété SSLVersions . elle est importante ? il y a t il moyen de la specifier autrement ?
    Sinon ça concerne quelle version ?

    Merci

    Cordialement
    aucune idée, mais il est possible de télécharger un Indy plus récent
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  12. #12
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2021
    Messages : 15
    Par défaut J'ai le même problème
    Bonjour,

    Actuellement j'essaie de communiquer avec l'Api Sms de ovh mais impossible.

    Vous avais réussi a le faire ?

    Car j'ai une erreur : Violation du protocole SSL EOF.

    MErci

  13. #13
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 068
    Par défaut
    Version Delphi ?
    Version Indy ?
    Version libeay32.dll et ssleay32.dll ?
    Niveau SSL ?
    Niveau TLS ?
    Du code ?

    Sans passer par Indy, faut tenter via InternetOpen\HttpOpenRequest qui utilise le HTTPS de Windows au lieu de celui de OpenSSL
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  14. #14
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 584
    Billets dans le blog
    65
    Par défaut
    Bonjour et bienvenue @hamba007

    une bonne pratique est quand même d'indiquer quelle version de Delphi vous utilisez, et ma moindre des chose le code que vous avez écrit

  15. #15
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2021
    Messages : 15
    Par défaut
    Merci pour la réponse rapide.


    Version Delphi ? Delphi Tokyo 10.2
    Version Indy ? Version 10 (10.6.2.5366)
    Version libeay32.dll et ssleay32.dll ? OpenSSL v1.0.2u
    Niveau SSL ? comment le savoir ?
    Niveau TLS ? sslvTLSv1_2
    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
     
     
      idssl.SSLOptions.Method := sslvTLSv1_2;
      idssl.SSLOptions.Mode := sslmUnassigned;
      idssl.SSLOptions.VerifyMode := [];
      idssl.SSLOptions.VerifyDepth := 0;
     
        try
        HTTP.Request.CustomHeaders.Add('X-Ovh-Application: ' + cAK);
        HTTP.Request.CustomHeaders.Add('X-Ovh-Consumer: ' + cCK);
        HTTP.Request.CustomHeaders.Add('X-Ovh-Signature: ' + Sign);
        HTTP.Request.CustomHeaders.Add('X-Ovh-Timestamp: ' + Time);
     
        http.Get('https://eu.api.ovh.com/1.0/auth/credential',Stream);
        Stream.Position := 0;
        s := stream.ToString;
     
        sTmp:=TStringList.Create;
     
        sTmp.LoadFromStream(stream);
        s:= stmp.Text;
     
        finally
        Stream.Free;
      end;
      stmp.free;
    Merci.

  16. #16
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 068
    Par défaut
    Le code de Paul Toth montre un sslvSSLv23 en 2017, le niveau a-t-il changé depuis ?

    essayer donc juste ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SSL := TIdSSLIOHandlerSocketOpenSSL.Create;
      SSL.SSLOptions.Method := sslvSSLv23;
      SSL.SSLOptions.SSLVersions := [sslvSSLv2, sslvSSLv3, sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  17. #17
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2021
    Messages : 15
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Le code de Paul Toth montre un sslvSSLv23 en 2017, le niveau a-t-il changé depuis ?

    essayer donc juste ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SSL := TIdSSLIOHandlerSocketOpenSSL.Create;
      SSL.SSLOptions.Method := sslvSSLv23;
      SSL.SSLOptions.SSLVersions := [sslvSSLv2, sslvSSLv3, sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];


    J'ai essayé avec plusieurs version, c'est identique.

    Après j'ai des dll de ssl de 2013, je sais pas ci c'est ca le problème. Et de plus, comment savoir quelles dll faut il pour la version indy 10.6.2.5366.

    J'ai essayé avec d'autres dlls qui se trouvent surhttps://indy.fulgan.com/SSL/ mais je le message suivant : "Impossible de charger la bibliothèque SSL"

    Merci

  18. #18
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 068
    Par défaut
    Utiliser bien les x64 ou i86 selon votre programme compilé en 64Bits et 32Bits

    Plus haut, vous indiquiez 'openssl-1.0.2u' et maintenant c'est les celle de 2013 ... confus tout ça
    Récemment, j'ai utilisé les 1.0.2.19 (s) car j'ai eu ce problème de SSL avec Yahoo, les 1.0.2u c'est 1.0.2.21 (u = 21)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  19. #19
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2021
    Messages : 15
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Utiliser bien les x64 ou i86 selon votre programme compilé en 64Bits et 32Bits

    Plus haut, vous indiquiez 'openssl-1.0.2u' et maintenant c'est les celle de 2013 ... confus tout ça
    Récemment, j'ai utilisé les 1.0.2.19 (s) car j'ai eu ce problème de SSL avec Yahoo, les 1.0.2u c'est 1.0.2.21 (u = 21)
    J'ai essayé avec plusieurs versions pour tester en fait, c'est pour cela.

  20. #20
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2021
    Messages : 15
    Par défaut
    Citation Envoyé par hamba007 Voir le message
    J'ai essayé avec plusieurs versions pour tester en fait, c'est pour cela.
    Voila, je viens d'essayer avec la dernière version openssl-1.0.2u-i386-win32 et j'ai l'erreur suivante :
    http/1.1 405 Method not allowed

Discussions similaires

  1. je cherche à utiliser la méthode SVD avec delphi
    Par Medoou dans le forum Débuter
    Réponses: 1
    Dernier message: 23/06/2009, 10h35
  2. Utiliser une dll C# avec delphi
    Par Gruick dans le forum Débuter
    Réponses: 8
    Dernier message: 19/06/2008, 10h23
  3. API FileSystemWatcher avec Delphi pour Vista ?
    Par colorid dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 20/12/2007, 09h19
  4. Api speech avec delphi 2005 ??
    Par adel1425 dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 05/06/2006, 09h29
  5. Comment utiliser les fichiers *.PNG avec Delphi ?
    Par HopeLeaves dans le forum Composants VCL
    Réponses: 2
    Dernier message: 17/09/2005, 20h59

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