Déc
12
|
Afin de déboguer une application AndroidW, je me suis rapidement créer une application en DelphiW pour récupérer mes contacts Google au format XMLW…
La méthode est relativement simple et expliquée sur cette page : Developer’s Guide: Protocol – Google Contacts Data API – Google Code
Pour cela, j’ai créé une nouvelle application Fiche VCLW, sur laquelle j’ai ajouté :
- 1 TMemo : pour afficher le XML
- 4 TLabeledEdit : pour saisir les informations nécessaires à l’authentification
- 1 TButton : pour exécuter la récupération des informations
- 1 TIdHTTP : pour me connecter au site de Google
- 1 TIdSSLIOHandlerSocketOpenSSL : pour supporter le protocole SSL (utilisé par Google)
J’ai spécifié que le TIdHTTP utilise le TIdSSLIOHandlerSocketOpenSSL comme IOHandler.
Puis j’ai double-cliqué sur le bouton pour générer sa méthode Click dans laquelle j’ai utilisé le code suivant :
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 | procedure TForm2.btnGetContactsClick(Sender: TObject); var slParams : TStringList; sSID : string; sContacts: string; begin Screen.Cursor := crHourGlass; slParams := TStringList.Create; try // Purge des précédents headers idhtpGoogle.Request.CustomHeaders.Clear; slParams.Add('accountType=GOOGLE'); // Type de compte slParams.Add('Email=' + lbledtEmail.Text); // email du compte slParams.Add('Passwd=' + lbledtPassword.Text); // mot de passe du compte slParams.Add('service=' + lbledtService.Text); // cp slParams.Add('source=' + lbledtSource.Text); // une chaîne au format companyName-applicationName-versionID idhtpGoogle.Request.ContentType := 'application/x-www-form-urlencoded'; // Récupération de la clé d'authentification slParams.DelimitedText := idhtpGoogle.Post('https://www.google.com/accounts/ClientLogin',slParams); // Passage de la clé idhtpGoogle.Request.CustomHeaders.Add('Authorization:GoogleLogin auth=' + slParams.Values['Auth']); // Every request that you send using the Contacts Data API should specify version 3.0 of the API. idhtpGoogle.Request.CustomHeaders.Add('GData-Version: 3.0'); // On demande les 500 premiers contacts sContacts := idhtpGoogle.get('https://www.google.com/m8/feeds/contacts/default/full?max-results=500'); // On affiche les contacts en formatant le XML (uses XMLDoc) mmo1.Text := xmlDoc.FormatXMLData(sContacts); finally slParams.free; Screen.Cursor := crDefault; end; end; |
Normalement, vous devriez ainsi avoir vos différents contacts et leurs informations associées. Il n’y a pas photo, Delphi est un environnement RADW
Sur le même principe, vous pouvez également attaqué l’agenda, le Reader, …, de Google, maintenant que vous avez votre clé d’autorisation.
sorry, this doesn´t work here
do you have the complete fonts ?
please, send me to sernet@gmail.com