Parce qu'il me semblait bien que c'était possible et que cela ouvre un nombre important de possibilités (Dans mon cas Alerting sur incident Serveur ou Appli), voici comment envoyer (gratuitement qui plus est) un SMS depuis tout serveur/PC équipé de la commande cURL ou tout autre utilitaire sachant faire du POST HTTP (Fonctionne tout aussi bien avec wget)
Magical Google : Bien que réservé aux appels US, l'émission de SMS depuis Google Voice semble fonctionner vers la France
PréReq : Disposer d'un compte Google Voice
Légende : En rouge les params a adapter | (..) = Texte tronqué par pudeur sécuritaire.
Synopsis :
- Step 1 : S'authentifier et récupérer le token "Auth" Google Voice
- Step 2 : Envoyer le SMS aux destinataires grace au token récupéré en Step 1
Steps Détaillés :
Step 1 : Authentification Google Voice
curl -sSd @gv.txt https://www.google.com/accounts/ClientLogin -k
avec gv.txt = "service=grandcentral&Email=XXXXXXXX&Passwd=XXXXXXXX"
Réponse :
SID=DQAAAJgAAAAS(...)
LSID=DQAAAJsAAAC(...)
Auth=DQAAAJwAAAB(...)
Seul "Auth" sera utilisé par la suite
Step 2 : Send du SMS
curl -sSd @gv2.txt https://www.google.com/voice/sms/send/ -k
avec gv2.txt = "_rnr_se=9/fQIWNcII(...)=&phoneNumber=+336(...),+336(...)&text=Google is my new Best Friend&auth=DQAAAJwAAAB(...)"
dont :
_rnr_se : invariable à récuperer sur la web page de google voice une fois signé dansinput name="_rnr_se" type="hidden"phoneNumber : en +336 séparé par des "," si plusieurs destinatairestext : le messageauth : le token récupéré en réponse du cURL d'autentification; Ex via => | awk.exe -F"=" "NR==3{ print $2 }"
Réponse si ok :
{"ok":true,"data":{"code":0}}
Credits : Arvin => http://sudocode.net/2009/11/29/sending-a-google-voice-sms-using-php/
(qui m'a fait gagné un temps précieux suite a quelques tâtonnements en débug "live HTTP Header" sur le site de Google Voice)
1 comment:
merci pour ces infos precieuses et bon courage j`apprecie beacoup votre blog .
http://phonevoipgratuit.blogspot.com/2011/05/comment-envoyer-un-sms-via-google-voice.html
Post a Comment