Gmail possède une fenêtre à portée de main qui vous permet d'exporter tous vos contacts en tant que fichier CSV. Si vous faites cela, regardez l'histoire de votre navigateur, vous voyez que l'URL utilisée pour initier le téléchargement semble quelque chose comme: p>
Je voudrais écrire un script de lot dans Python qui téléchargera automatiquement ce fichier CSV tous les soirs sur mon serveur, mais je ne peux pas comprendre comment obtenir la "Tok". J'ai examiné Google's Oauth, mais cela semble être un processus interactif humain, alors que j'en ai besoin pour arriver à 3 heures du matin lorsque tous les humains disponibles seront endormis. P>
peut-il être fait ou google a formulé mon compte e-mail afin de "sécuriser" que je ne peux pas y accéder via un script sans assistance? P>
Merci! Bryon M. Elliott p>
4 Réponses :
Essayez de regarder Gmail API: http://code.google.com/ APIS / GMAIL / OAITUH / CODE.HTML P>
Bonne pensée, mais le jeton Oauth revint par xoauthuth.py ne fonctionne pas.
Je cherchais une solution similaire et que je ne pouvais pas trouver une solution prête que je l'ai fait moi-même: (PLS supporte-moi avec moi pour les scripts paresseux, je voulais juste le faire fonctionner: D)
#!/bin/sh # google api requirements: # https://developers.google.com/gdata/articles/using_cURL # https://developers.google.com/gdata/faq#clientlogin # https://developers.google.com/google-apps/contacts/v3/ # https://developers.google.com/google-apps/contacts/v3/reference # json parser: # https://github.com/dominictarr/JSON.sh#jsonsh # recommendation(optional): # https://developers.google.com/accounts/docs/OAuth2UserAgent # echo "logging in to google and saving contact with given caller-number." Auth=$(curl --silent https://www.google.com/accounts/ClientLogin --data-urlencode Email=${Email} --data-urlencode Passwd=${Passwd} -d accountType=GOOGLE -d source=Google cURL-Example -d service=cp | grep Auth | cut -d= -f2) curl -o ${dir}/${tmpfile} --silent --header "Authorization: GoogleLogin auth=$Auth" "https://www.google.com/m8/feeds/contacts/$Email/full?v=3.0&q=$2&alt=$Format"
semble intéressant. Pouvez-vous ajouter quelques exemples concernant les variables que vous utilisez?
@jerik: En raison des aspects de sécurité, la connexion via l'utilisateur et le mot de passe ne sont plus pris en charge. Vous devez utiliser Un mot de passe de l'application ou Oauth .
Premier authentifier avec votre compte et votre mot de passe (voir http://developers.google.com/Accounts / Docs / AutorforInstalledapps ) Obtenez la variable de "TOK" myséreuse. J'ai découvert que cela fait partie d'une demande JSON: p> téléchargez le CSV (au format Google). C'est exactement la même chose que la façon manuelle de faire ceci: support.google.com/mail/answer/24911?hl=froke/244911?hl=froke/24/24911?hl=froke/24/24911?hl=froke/24911?hl=frecked/24911?hl=fr.comxxx La variable "Out" peut être Un de Google_CSV, Outlook_CSV, VCARD.
Mon code est bash, vous voudrez peut-être modifier les commandes CURL en équivalent Python. Les informations importantes sont les variables et les URL. P> p>
La première ligne est d'authentifier avec votre compte et votre mot de passe (voir développeurs.google.com/Accounts/docs/ AutorInstalledapps ) Deuxième ligne consiste à obtenir la variable de "tok" myséreuse. J'ai découvert que cela fait partie d'une demande JSON. La dernière ligne est de télécharger le CSV (au format Google). C'est exactement la même chose que la façon manuelle de faire cela: support.google.com / Mail / Réponse / 24911? HL = EN Variable Out peut être l'un des Google_CSV, Outlook_CSV, VCard.
Je n'ai pu trouver rien, donc j'ai construit un outil Litte qui fait cela. Vous pouvez le trouver ici https://github.com/gedl/gc-csv P >
Il peut exporter vos contacts Google vers un fichier séparé des virgules, sur la console ou le télécharger sur un téléphone VoIP (Incom ICW1000G) P>
J'espère que ça vous aide. P>
Vous pouvez toujours le faire avec sélénium ou quelque chose: ouvrez par programmation une fenêtre de navigateur, connectez-vous à Gmail, etc., etc.
Je pense aussi que la sauvegarde peut faire cela, donc c'est certainement possible.