SOAP-запрос AdWords с oAuth на C#

Я пытаюсь обновить программу, чтобы она поддерживала новый oAuth, который Google использует в AdWords.
У меня есть онлайн-часть, которая работает нормально, и я получаю токены доступа (токен, секретный ключ и ключ потребителя).

Моя проблема заключается в том, что я пытаюсь сделать запрос на мыло позже с этими учетными данными.
А. Какую информацию мне нужно сохранить из части OnLine? пока я сохраняю только accessToken и accessTokenSecret.
B. Как мне использовать accessToken, accessTokenSecret и все, что я сохранил, чтобы делать запросы SOAP?

Немного информации о моем процессе:

  • Не использовать клиентскую библиотеку от Google (слишком много накладных расходов, и пока они мне не нужны)
  • Использование автоматически сгенерированного кода с использованием VS2005 WSDL в службах, которые я использую.
  • C#

person Roee Gavirel    schedule 19.12.2011    source источник
comment
без показа соответствующей части вашего источника и того, что именно передается по сети (при использовании клиентской библиотеки от Google), вы не получите реального ответа о том, как эмулировать это без клиентской библиотеки...   -  person Yahia    schedule 19.12.2011
comment
Я пытался уважать разработку Google-Client-Library, но они делают там много вещей, за которыми очень сложно следить. Я надеялся, что кто-то уже столкнулся с этим и может поделиться некоторыми идеями.   -  person Roee Gavirel    schedule 19.12.2011
comment
вам не нужно реконструировать библиотеку - просто запустите ее и понюхайте трафик...   -  person Yahia    schedule 19.12.2011


Ответы (1)


Проблема в том, что то, что вы пытаетесь сделать, немного сложно. Это больше связано с самим процессом oAuth, чем с реализацией AdWords API. Я думаю, что это тот случай, когда было бы очень полезно использовать клиентскую библиотеку.

На самом деле вам нужно использовать свой токен и ключ потребителя, чтобы подписать запрос. Это можно сделать с помощью RSA-SHA1 или RSA-HMAC; в первую очередь вы подписываете его с помощью файла закрытого ключа и загружаете открытый ключ в Google; для RSA-HMAC вы просто используете токен и секреты потребителя вместо открытого/закрытого ключа.

Подробнее об этом можно узнать здесь, но я бы рекомендуем просто использовать реализацию Google, если вас не интересуют внутренности oAuth. Я попробовал это сам некоторое время назад и нашел это довольно сложным.

person Ewan Heming    schedule 19.12.2011