Отправка запроса GET с использованием SOAP и Javascript (API Google Adwords Sandbox) - PullRequest
3 голосов
/ 15 сентября 2011

Я пытаюсь получить доступ к 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 они содержат простые инструкции:

Чтобы создать учетную запись песочницы, отправьте запрос на получение в версию CampaignService для песочницы, используя расположение WSDL и заголовки песочницы, как описано ниже.Этот первоначальный вызов в изолированную программную среду создает учетную запись изолированной программной среды MCC вместе с пятью учетными записями клиентов для указанного вами адреса электронной почты.Ваша учетная запись в песочнице и ее клиентские учетные записи начинаются пустыми.http://code.google.com/apis/adwords/docs/sandbox.html

Помогите!

1 Ответ

0 голосов
/ 10 декабря 2011

AdWords API - это API-интерфейс SOAP, поэтому отправка данных в формате JSONP не будет работать. Кроме того, $ .ajax с cross-domain = true работает только для вариантов JSON или JSONP, все, что не будет остановлено междоменными политиками вашего браузера.

Вместо этого вы можете попробовать изучить клиентскую библиотеку Javascript API AdWords - подробности см. http://code.google.com/p/google-api-adwords-js/.

Наш основной дискуссионный форум находится по адресу http://groups.google.com/group/adwords-api?pli=1,, и я часто отвечаю на вопросы разработчиков, поэтому, если у вас есть какие-либо дополнительные вопросы, не стесняйтесь их задавать, и я буду рад ответить на ваши вопросы.

Cheers, Анаш П. Ооммен

...