我正在尝试访问Google Adwords Sandbox API,但在我的生活中,我无法弄清楚发生了什么。
这是我的代码:
var wsUrl = "https://adwords-sandbox.google.com/api/adwords/cm/v201008/CampaignService";
var soapRequest =
'<soapenv:Envelope \
xmlns:soapenv="http://schemax.xmlsoap.org/soap/envelope/" \
xmlns="https://adwords.google.com/api/adwords/cm/v200906"> \
<soapenv:Header> \
<service>adwords</service> \
<email>***@gmail.com</email> \
<password>***</password> \
<developerToken>***@gmail.com++USD</developerToken> \
<useragent>MyApplication</useragent> \
</soapenv:Header> \
<soapenv:Body> \
<getClientAccounts/> \
</soapenv:Body> \
</soapenv:Envelope>';
$.ajax({
type: "GET",
url: wsUrl,
contentType: document.body,
crossDomain: true,
dataType: "jsonp",
data: soapRequest,
success: processSuccess,
error: processError
});
});
function processSuccess(data, status, req) {
if (status == "success")
console.log("success");
}
function processError(data, status, req) {
console.log("status = " + status + " data= " + data );
}
我不断收到500个内部服务器错误。我究竟做错了什么?!在Google Adwords Sandbox网站上,他们列出了简单的说明:
要创建沙箱帐户,请向沙箱版本发送get请求 CampaignService,使用WSDL位置和沙箱标题 如下面所描述的。对沙箱的初始调用会创建MCC 电子邮件的沙箱帐户以及五个客户帐户 您指定的地址。您的沙盒帐户及其客户帐户 从空开始。 http://code.google.com/apis/adwords/docs/sandbox.html
帮助!
答案 0 :(得分:0)
AdWords API是一种SOAP API,因此将数据作为JSONP发送将不起作用。此外,带有跨域= true的$ .ajax仅适用于JSON或JSONP变体,除此之外的任何内容都将被浏览器的跨域策略停止。
您可以尝试浏览AdWords API Javascript客户端库 - 有关详细信息,请参阅http://code.google.com/p/google-api-adwords-js/。
我们的主要讨论论坛位于http://groups.google.com/group/adwords-api?pli=1,我经常在那里回答开发人员的问题,所以如果您有任何后续问题,请随时提出问题,我很乐意回答您的问题。
干杯, Anash P. Oommen