Ошибка запроса API преобразования DoubleClickSearch - PullRequest
0 голосов
/ 04 июля 2018

У меня есть следующий код, который использует библиотеку Google.Apis.Doubleclicksearch.v2 и который не выполняется в последней строке:

class Program
{

    private const string Account = "<<ID>>@developer.gserviceaccount.com";
    private const string P12Path = @"<<APICert>>.p12";

    static void Main(string[] args)
    {
        var certificate = new X509Certificate2(P12Path, "notasecret",
            X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet |
            X509KeyStorageFlags.Exportable);

        var credentials = new ServiceAccountCredential(
            new ServiceAccountCredential.Initializer(Account)
            {
                Scopes = new[] { DoubleclicksearchService.Scope.Doubleclicksearch }
            }.FromCertificate(certificate));

        DoubleclicksearchService service = new DoubleclicksearchService(new BaseClientService.Initializer()
        {
            HttpClientInitializer = credentials,
            ApplicationName = "MyApp",
            ApiKey = "<<APIKEY>>"
        });

        int isoDate = int.Parse(DateTime.Now.AddDays(-1).ToString("yyyymmdd"));
        var conversionRequest = service.Conversion.Get(<<AgencyID>>,
            <<AdvertiserID>>,
            <<EngineAccountID>>,
            isoDate, 10,
            isoDate, 0);

        conversionRequest.Execute();

    }
}

Ошибка:

Google.GoogleApiException: 'Google.Apis.Requests.RequestError Возникла внутренняя ошибка. Пожалуйста, повторите запрос позже. Подробности: [Неверный идентификатор] [500]

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Форматирование даты несколько подозрительно:

int isoDate = int.Parse (DateTime.Now.AddDays (-1) .ToString (" ггггммдд "));

int isoDate = int.Parse (DateTime.Now.AddDays (-1) .ToString (" yyyyMMdd "));

Кроме того, DS auth требует oAUth2: https://developers.google.com/doubleclick-search/v2/authorizing

0 голосов
/ 05 июля 2018

Поскольку в сообщении об ошибке указано «Неверный идентификатор», дважды проверьте правильность идентификаторов вашего агентства, рекламодателя и двигателя. Если это так, то, возможно, ваша учетная запись не имеет доступа к агентству, рекламодателю или движку? Можете ли вы вызывать любые другие методы API с той же учетной записью и агентством, рекламодателем или движком, которые работают?

...