Context: Windows 7, IE10, JScript, Peloton, Msxml2.ServerXMLHTTP.6.0

When I execute the following in OAuth2.0 Playground it works perfectly 

    POST /api/adwords/reportdownload/v201402 HTTP/1.1
    Host: adwords.google.com
    Clientcustomerid: blah-blah
    Developertoken: blah_blah
    Content-type: application/x-www-form-urlencoded
    Content-length: 545
    Authorization: Bearer ya29.1.blahblahblah
    __rdxml=<reportDefinition 
xmlns="https://adwords.google.com/api/adwords/cm/v201402";><selector><fields>CampaignId</fields><fields>Id</fields><fields>Impressions</fields><fields>Clicks</fields><fields>Cost</fields><predicates><field>Status</field><operator>IN</operator><values>ENABLED</values><values>PAUSED</values></predicates></selector><reportName>Custom
 
<https://www.en.adwords-community.com/t5/forums/editpage/board-id/Measure-AdWords/message-id/11644/is-draft/>
 Adgroup Performance 
Report</reportName><reportType>ADGROUP_PERFORMANCE_REPORT</reportType><dateRangeType>LAST_7_DAYS</dateRangeType><downloadFormat>TSV</downloadFormat></reportDefinition>

 

However, when I submit the same values programmatically, I get 
`AuthenticationError.USER_ID_INVALID`

<@ LETVARo1lCAP>AdHocReport1|
<reportDefinition xmlns="https://adwords.google.com/api/adwords/cm/v201402";> 
<https://www.en.adwords-community.com/t5/forums/editpage/board-id/Measure-AdWords/message-id/11644/is-draft/>
<selector>
<fields>CampaignId</fields>
<fields>Id</fields>
<fields>Impressions</fields>
<fields>Clicks</fields>
<fields>Cost</fields>
<predicates>
<field>Status</field>
<operator>IN</operator>
<values>ENABLED</values>
<values>PAUSED</values>
</predicates>
</selector>
<reportName>Custom Adgroup Performance Report</reportName>
<reportType>ADGROUP_PERFORMANCE_REPORT</reportType>
<dateRangeType>LAST_7_DAYS</dateRangeType>
<downloadFormat>TSV</downloadFormat>
</reportDefinition></@>

....

<@ DEFUDOLITLIT>:Hp|__Transformer|
<@ DEFKEYLIT>__WSHLanguage|JScript</@>
<@ LETSCPPAR>url|1</@>
<@ LETSCPPAR>head|2</@>
<@ LETSCPPAR>body|3</@>
<@ sayLETSCPCAP>code|
        var SXH_OPTION_ESCAPE_PERCENT_IN_URL = 1;
        var SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS = 2;
        var SXH_OPTION_SELECT_CLIENT_SSL_CERT = 3;
        var SXH_OPTION_URL = -1;
        var SXH_OPTION_URL_CODEPAGE = 0;

        var SXH_SERVER_CERT_IGNORE_UNKNOWN_CA = 256;
        var SXH_SERVER_CERT_IGNORE_WRONG_USAGE = 512;
        var SXH_SERVER_CERT_IGNORE_CERT_CN_INVALID = 4096;
        var SXH_SERVER_CERT_IGNORE_CERT_DATE_INVALID = 8192;
        var SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056;

        function HTTPPOST4(url, rHeaders, body) {
          var oHTTP = new ActiveXObject("Msxml2.ServerXMLHTTP.6.0");
          oHTTP.setOption(SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS, 
oHTTP.getOption(SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS) - 
SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS);
          oHTTP.setTimeouts(1000000, 1000000, 1000000, 1000000);
          oHTTP.open("POST", url, false);

          for (var r in rHeaders) {
                oHTTP.setRequestHeader(r, rHeaders[r]);
          }
          
          oHTTP.send(body);
          var res = oHTTP.responseText;
          return res;
        }
        var head = <@ sayscp>head</@>;
        var body = '<@ SAYSCP>body</@>';
        HTTPPOST4('<@ SAYSCP>url</@>', head, body);
</@>
<@ LETRESCLCSCP>...|code</@>
<@ DEFKEYLIT>__WSHLanguage|VBScript</@>
</@>

 
The language wrapped around the JScript is called Peloton, and is used 
in-house. The header values are passed in as a JSON object and the body as 
a string.

The result XML I get from this says

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<reportDownloadError><ApiError><type>AuthenticationError.USER_ID_INVALID</type><trigger>&lt;null&gt;</trigger><fieldPath></fieldPath></ApiError></reportDownloadError>

If the 'trigger' is to be believed, where is the '&lt;null&gt;'?

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to