[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Seeing 403 error on attempted login to https://www.google.com/accounts/ClientLogin



I am attempting to build a HTTPAPI application to a Google Doc's spreadsheet. Th
e process, as defined by Google, requires a published spreadsheet, getting an au
thorization token and XML data block to POST to the link URL

I am seeing a 403 forbidden error in the log and wondering if that is from Googl
e or I am being blocked by my local server?
I have included a copy of the debug log and a program listing.


Thanks!

   --
   Dave Hanneman | Technical Analyst III, Warehouse Business Systems | RR
   Donnelley
   3075 Highland Avenue | Downers Grove, IL 60515
   Office: 630.322.6420
   [1]dave.c.hanneman@xxxxxxx
   [2]http://www.rrdonnelley.com

References

   1. mailto:dave.c.hanneman@xxxxxxx
   2. http://www.rrdonnelley.com/
ÿþ  5761WDS V6R1M0  080215                  SEU SOURCE LISTING                            08/15/12 12:10:36    CORPDEV2     PAGE    1

  SOURCE FILE . . . . . . .  LIBHTTP/QRPGLESRC

  MEMBER  . . . . . . . . .  GOOGLET

  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0

    100      H DFTACTGRP(*NO) ACTGRP(*NEW) BNDDIR('HTTPAPI')                                                            08/14/12

    200       /define WEBFORMS                                                                                          08/14/12

    300      D/copy qrpglesrc,httpapi_h                                                                                 08/14/12

    400      D cmd             pr                  extpgm('QCMDEXC')                                                    08/14/12

    500      D  command                     200A   const                                                                08/14/12

    600      D  length                       15P 5 const                                                                08/14/12

    700      D rc              s             10I 0                                                                      08/14/12

    800      D msg             s             52A                                                                        08/14/12

    900      D CRLF            C                   CONST(x'0d25')                                                       08/14/12

   1000      D data            S           1024A                                                                        08/14/12

   1100      D QQ              C                   CONST(x'7F')                         Quote Literal                   08/14/12

   1200      D ATOM            C                   CONST('http://www.w3.org/2005/Atom')                                 08/14/12

   1300      D SCHEMA          C                   CONST('http://schemas.google.com.spr+                                08/14/12

   1400      D                                     eadsheets/2006/extended')                                            08/14/12

   1500      D Form            s                   like(WEBFORM)                                                        08/14/12

   1600      D accountType     s            100A   varying                                                              08/14/12

   1700      D Email           s            100A   varying                                                              08/14/12

   1800      D Passwd          s            100A   varying                                                              08/14/12

   1900      D service         s            100A   varying                                                              08/14/12

   2000      D source          s            100A   varying                                                              08/14/12

   2100      D myPointer       s               *                                                                        08/14/12

   2200      D dataSize        s             10I 0                                                                      08/14/12

   2300                                                                                                                 08/14/12

   2400      d ParseAuth       pr            10i 0                                                                      08/14/12

   2500      d   descriptor                  10i 0                                                                      08/14/12

   2600      d   data                      8192a   options(*varsize)                                                    08/14/12

   2700      d   dataLen                     10i 0 value                                                                08/14/12

   2800      d authString      s           8192a   varying                                                              08/14/12

   2900      c                   callp     http_debug(*ON)                                                              08/15/12

   3000       /free                                                                                                     08/14/12

   3100         accountType = 'HOSTED';                                                                                 08/15/12

   3200         Email       = 'dave.c.hanneman@rrd.com';                                                                08/14/12

   3300         Passwd      = '********          ';                                                                     08/15/12

   3400         service     = 'wise';                                                                                   08/14/12

   3500         source      = 'RRD-OrderRedirect-1.00';                                                                 08/14/12

   3600                                                                                                                 08/14/12

   3700         Form = WEBFORM_open();                                                                                  08/14/12

   3800                                                                                                                 08/14/12

   3900         WEBFORM_SetVar(Form: 'accountType': accountType   );                                                    08/14/12

   4000         WEBFORM_SetVar(Form: 'Email'      : Email         );                                                    08/14/12

   4100         WEBFORM_SetVar(Form: 'Passwd'     : Passwd        );                                                    08/14/12

   4200         WEBFORM_SetVar(Form: 'service'    : service       );                                                    08/14/12

   4300         WEBFORM_SetVar(Form: 'source'     : source        );                                                    08/14/12

   4400         WEBFORM_postData( Form : myPointer : dataSize );                                                        08/14/12

   4500                                                                                                                 08/14/12

   4600         rc = http_url_post_raw(                                                                                 08/14/12

   4700                'https://www.google.com/accounts/ClientLogin'                                                    08/14/12

   4800                : myPointer                                                                                      08/14/12

   4900                : dataSize                                                                                       08/14/12

   5000                : 1                                                                                              08/14/12

   5100                : %paddr('PARSEAUTH')                                                                            08/14/12

   5200                : HTTP_TIMEOUT                                                                                   08/14/12

   5300                : HTTP_USERAGENT                                                                                 08/14/12

  5761WDS V6R1M0  080215                  SEU SOURCE LISTING                            08/15/12 12:10:36    CORPDEV2     PAGE    2

  SOURCE FILE . . . . . . .  LIBHTTP/QRPGLESRC

  MEMBER  . . . . . . . . .  GOOGLET

  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0

   5400                : 'application/x-www-form-urlencoded' );                                                         08/14/12

   5500                                                                                                                 08/14/12

   5600         if rc <> 1;                                                                                             08/14/12

   5700           msg = http_error;                                                                                     08/14/12

   5800           dsply msg;                                                                                            08/14/12

   5900         else;                                                                                                   08/14/12

   6000          data = 'xmlns='+QQ+ATOM+QQ+'xmlns:gsx'+QQ+SCHEMA+QQ+                                                   08/14/12

   6100          '<gsx:Original Warehouse>0050</gsx:Original Warehouse>'+                                               08/14/12

   6200          '<gsx:Order Number>11111111</gsx:Order Number>'+                                                       08/14/12

   6300          '<gsx:Order Suffix>2222</gsx:Order Suffix>'+                                                           08/14/12

   6400          '<gsx:Line>00002</gsx:Line>'+                                                                          08/14/12

   6500          '<gsx:Item Number>ITM0050</gsx:Item Number>'+                                                          08/14/12

   6600          '<gsx:Quantity to redirect>500</gsx:Quantity to redirect>'+                                            08/14/12

   6700          '<gsx:Target Warehouse>0034</gsx:Target Warehouse>'+                                                   08/14/12

   6800          '<gsx:Corporate Customer>1236547809</gsx:Corporate Customer >'+                                        08/14/12

   6900          '<gsx:Name>TCPUSER</gsx:Name>'+                                                                        08/14/12

   7000          '<gsx:Employee ID>TCPUSER</gsx:Employee ID>';                                                          08/14/12

   7100                                                                                                                 08/14/12

   7200          rc=http_url_post('https://docs.google.com/a/rrd.com/spreadsheet/c  +                                   08/14/12

   7300                              cc?key=0Am0rkV7DtohpdGRwaG43Y2xiOWRmazFYeUdqX3B+                                   08/14/12

   7400                              RZmc'                                                                              08/14/12

   7500                              :%addr(data)                                                                       08/14/12

   7600                              :%len(%trimr(data))                                                                08/14/12

   7700                              :'/tmp/httptest.html');                                                            08/14/12

   7800            if        rc <> 1;                                                                                   08/14/12

   7900              msg = http_error;                                                                                  08/14/12

   8000              dsply msg;                                                                                         08/14/12

   8100              return;                                                                                            08/14/12

   8200            endif;                                                                                               08/14/12

   8300         endif;                                                                                                  08/14/12

   8400           /end-free                                                                                             08/14/12

   8500      c                   callp     cmd('DSPF ''/tmp/httptest.html''': 200)                                      08/14/12

   8600      c                   eval      *inlr = *on                                                                  08/14/12

   8700      c                   return                                                                                 08/14/12

   8800      p ParseAuth       b                                                                                        08/14/12

   8900      d ParseAuth       pi            10i 0                                                                      08/14/12

   9000      d   descriptor                  10i 0                                                                      08/14/12

   9100      d   data                      8192a   options(*varsize)                                                    08/14/12

   9200      d   dataLen                     10i 0 value                                                                08/14/12

   9300                                                                                                                 08/14/12

   9400      d startSID        s             10i 0                                                                      08/14/12

   9500      d startLSID       s             10i 0                                                                      08/14/12

   9600      d startAuth       s             10i 0                                                                      08/14/12

   9700       /free                                                                                                     08/14/12

   9800         startSID = %scan('SID=' : data );                                                                       08/14/12

   9900         startLSID = %scan('LSID=' : data : startSID );                                                          08/14/12

  10000         startAuth = %scan('Auth=' : data : startLSID );                                                         08/14/12

  10100         AuthString = %subst(data : startAuth);                                                                  08/14/12

  10200         return 1;                                                                                               08/14/12

  10300       /end-free                                                                                                 08/14/12

  10400      p ParseAuth       e                                                                                        08/14/12

                                  * * * *  E N D  O F  S O U R C E  * * * *

HTTPAPI Ver 1.23 released 2008-04-24
OS/400 Ver V6R1M0

New iconv() objects set, PostRem=819. PostLoc=0. ProtRem=819. ProtLoc=0
http_persist_open(): entered
http_long_ParseURL(): entered
DNS resolver retrans: 2
DNS resolver retry  : 2
DNS resolver options: x'00000136'
DNS default domain: RRD.COM
DNS server found: 162.27.8.186
DNS server found: 172.24.8.126
DNS server found: 172.24.14.21
https_init(): entered
-------------------------------------------------------------------------------------
Dump of local-side certificate information:
-------------------------------------------------------------------------------------
-----BEGIN CERTIFICATE-----
MIIDkjCCAnqgAwIBAgIHUCE4pw6BsDANBgkqhkiG9w0BAQUFADCBizELMAkGA1UE
BhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRYwFAYDVQQHEw1Eb3duZXJzIEdyb3Zl
MSMwIQYDVQQKExpXYXJlaG91c2UgQnVzaW5lc3MgU3lzdGVtczEMMAoGA1UECxMD
V0JTMR4wHAYDVQQDExVDT1JQREVWMiBSUkQgTG9jYWwgQ0EwHhcNMTIwODA2MTU0
NzUxWhcNMTgwMTI4MTU0NzUxWjCBhjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCEls
bGlub2lzMRYwFAYDVQQHEw1Eb3duZXJzIEdyb3ZlMSMwIQYDVQQKExpXYXJlaG91
c2UgQnVzaW5lc3MgU3lzdGVtczEMMAoGA1UECxMDV0JTMRkwFwYDVQQDExBDb3Jw
ZGV2Mi5ycmQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsvmn
ECgsSyoP9D6iXmHJDJrUijBba/tEDes6tIdfAeB+Al6sdL5Xh74kj6ykTChlpYSu
yy8T1eWfUPDVk7zPYe/L53KfSQ6ky6Z8GvQntDQpqsq/2omgHTJfkxmcM4BxTP3o
9pzIC4aEAiqkT3wO/PwfBEweQzXzDtP5GJS8A2PfACR2H/vY+HonxiWRII121rkq
hkpJXJ0++5Akq86ENfJghT+lpswzbkT0Qr3uUmLAVEXFzeBvOgCT4lYWV6hyNd5g
t26WcGq4yIQDhUvixMeMm9n8z9K5oma7vc72qoJw27H/tOqTBOEbqF4Y1peEH/0m
n6anknTOlLcD6qsPKQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQBuSvEAG2Mb3orN
zIKl4vcHOl7+NardlJ6kss+78V2QeCg58ICpZdO26n9L0bMcCBrL2Pr2WMvqXsWo
LK5HvVDxDAr64zgISvfg5FyjRxGNDQjmAhJThgzlvgm4EKaYpK1gqVdblSB7eorV
ygv43A66XHyNjAO3tZbT0C8/IWagGyolQxYJK1B9gyq4GX8uARDqEtw9BtOMuk53
kTA0nuAKylTTsBYmvjrl5S6b7b8pCtfPsd+936YaRSzDioRhs7NAhfMl91oSXrAO
DuWIvuL2ickKNlbkuV5J5gzj/UHMS+8gOCTBvNRHnOhaxIy/1v3FjYdJeLfAXEqE
zYYCu5+2
-----END CERTIFICATE-----
Serial Number: 50:21:38:A7:0E:81:B0
Common Name: Corpdev2.rrd.com
Country: US
State/Province: Illinois
Locality: Downers Grove
Org Unit: Warehouse Business Systems
Org: WBS
Issuer CN: CORPDEV2 RRD Local CA
Issuer Country: US
Issuer State/Province: Illinois
Issuer Locality: Downers Grove
Issuer Org: Warehouse Business Systems
Issuer Org Unit: WBS
Version: 03
not before: 20120806104751
not after: 20180128094751
pub key alg: 1.2.840.113549.1.1.5

-------------------------------------------------------------------------------------
Dump of server-side certificate information:
-------------------------------------------------------------------------------------
Cert Validation Code = 0
-----BEGIN CERTIFICATE-----
MIIDITCCAoqgAwIBAgIQT52W2WawmStUwpV8tBV9TTANBgkqhkiG9w0BAQUFADBM
MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0xMTEwMjYwMDAwMDBaFw0x
MzA5MzAyMzU5NTlaMGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
MRYwFAYDVQQHFA1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKFApHb29nbGUgSW5jMRcw
FQYDVQQDFA53d3cuZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
gYEA3rcmQ6aZhc04pxUJuc8PycNVjIjujI0oJyRLKl6g2Bb6YRhLz21ggNM1QDJy
wI8S2OVOj7my9tkVXlqGMaO6hqpryNlxjMzNJxMenUJdOPanrO/6YvMYgdQkRn8B
d3zGKokUmbuYOR2oGfs5AER9G5RqeC1prcB6LPrQ2iASmNMCAwEAAaOB5zCB5DAM
BgNVHRMBAf8EAjAAMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwudGhhd3Rl
LmNvbS9UaGF3dGVTR0NDQS5jcmwwKAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUF
BwMCBglghkgBhvhCBAEwcgYIKwYBBQUHAQEEZjBkMCIGCCsGAQUFBzABhhZodHRw
Oi8vb2NzcC50aGF3dGUuY29tMD4GCCsGAQUFBzAChjJodHRwOi8vd3d3LnRoYXd0
ZS5jb20vcmVwb3NpdG9yeS9UaGF3dGVfU0dDX0NBLmNydDANBgkqhkiG9w0BAQUF
AAOBgQAhrNWuyjSJWsKrUtKyNGadeqvu5nzVfsJcKLt0AMkQH0IT/GmKHiSgAgDp
ulvKGQSy068Bsn5fFNum21K5mvMSf3yinDtvmX3qUA12IxL/92ZzKbeVCq3Yi7Le
IOkKcGQRCMha8X2e7GmlpdWC1ycenlbN0nbVeSv3JUMcafC4+Q==
-----END CERTIFICATE-----
Serial Number: 4F:9D:96:D9:66:B0:99:2B:54:C2:95:7C:B4:15:7D:4D
Common Name: www.google.com
Country: US
State/Province: California
Locality: Mountain View
Org Unit: Google Inc
Issuer CN: Thawte SGC CA
Issuer Country: ZA
Issuer Org: Thawte Consulting (Pty) Ltd.
Version: 03
not before: 20111025190000
not after: 20130930185959
pub key alg: 1.2.840.113549.1.1.5

Protocol Used: TLS Version 1
http_persist_post(): entered
http_long_ParseURL(): entered
do_post(): entered
POST /accounts/ClientLogin HTTP/1.1
Host: www.google.com
User-Agent: http-api/1.23
Content-Type: application/x-www-form-urlencoded
Expect: 100-continue
Content-Length: 119


recvresp(): entered
SetError() #43: CommSSL_Read:  time-out!
senddoc(): entered
accountType=HOSTED&Email=dave.c.hanneman%40rrd.com&Passwd=********++++++++++&service=wise&source=RRD-OrderRedirect-1.00
recvresp(): entered
HTTP/1.1 403 Forbidden
Content-Type: text/plain
Cache-control: no-cache, no-store
Pragma: no-cache
Expires: Mon, 01-Jan-1990 00:00:00 GMT
Date: Wed, 15 Aug 2012 16:45:27 GMT
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Content-Length: 24
Server: GSE


SetError() #13: HTTP/1.1 403 Forbidden
recvdoc parms: identity 24
header_load_cookies() entered
recvdoc(): entered
SetError() #0:
Error=BadAuthentication
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------