Saturday, January 24, 2009

AJAX, XML, XSLT (and some ASP) tricks: Login to Google Data API

AJAX, XML, XSLT (and some ASP) tricks: Login to Google Data API
Google Data API has numerous client-side libraries, but not an ASP/VBScript one. Here’s the first routine you need: it authenticates you with the Google API and returns a handle you can use in subsequent calls.



Dim XRQ ' global XMLHttpRequest object

Function GoogleLogin(UN,Pwd,Svc)
Dim RQData,I,RT

GoogleLogin = Null
RQData = EncodeFormData(Array("Email","Passwd","service","source"), _
Array(UN,Pwd,Svc,"VBScript-BloggerLibrary-0.1"))

If Not IsObject(XRQ) Then Set XRQ = CreateObject("Microsoft.XMLHTTP")
XRQ.open "POST","https://www.google.com/accounts/ClientLogin",false
XRQ.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
XRQ.send RQData
If HTTPCheck(XRQ,"Google login response", _
"https://www.google.com/accounts/ClientLogin") Then
RT = XRQ.responseText
I = InStr(RT,"Auth=")
If I = 0 Then wr "Google response has no AUTH data" : Exit Function
RT = Mid(RT,I+5,Len(RT))
I = InStr(RT,Chr(10)) : If I > 0 Then RT = Left(RT,I-1)
GoogleLogin = RT
End If
End Function

No comments: