Сбой вызова API Google из приложения ASP.NET Web API, размещенного на хостинг-сервере Windows - PullRequest
0 голосов
/ 20 мая 2018

Я создал приложение ASP.net Web API.Это приложение имеет API, который получает идентификатор sku Id и токен покупки из моего приложения для Android, проверяет покупку и возвращает соответствующий результат.Теперь проблема в том, что когда я запускаю свое приложение локально, оно работает нормально.Google возвращает мне ответ, и я могу обработать его.Но когда я размещаю это приложение на своем общем хостинг-сервере Windows, этот вызов не выполняется.Просто происходит сбой, нет ошибки.

Вот мой веб-API.

[HttpPost]
[Route("Api/Files/GetFiles")]
public HttpResponseMessage GetFiles(FileInfo fileInfo)
{
    string skuId = fileInfo.SkuId;
    string purchaseToken = fileInfo.PurchaseToken;
    ProductPurchase productPurchase = GoogleAPIConnector.GetProductPurchaseInfo(skuId, purchaseToken);
}

Вот функция GetProductPurchaseInfo.

public static ProductPurchase GetProductPurchaseInfo(string productId, string purchaseToken)
        {
            string packageName = "my.package.name";

            string sFileContents = "my p12 file contents as a byte array";

            byte[] baFileContents = Convert.FromBase64String(sFileContents);

            var certificate = new X509Certificate2(baFileContents,
                            "notasecret",
                            X509KeyStorageFlags.Exportable | X509KeyStorageFlags.MachineKeySet
                        );

            var credentials = new ServiceAccountCredential(
                    new ServiceAccountCredential.Initializer("my publisher account on google play service")
                    {
                        Scopes = new[] { AndroidPublisherService.Scope.Androidpublisher }
                    }.FromCertificate(certificate));

            var service = new AndroidPublisherService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credentials,
                ApplicationName = "my application name",
            });

            return service.Purchases.Products.Get(packageName, productId, purchaseToken).Execute();
        }

Я нахожусь вмое остроумие заканчивается попыткой найти решение.Может ли это быть из-за того, что вызовы API запрещены в среде общего хостинга?Я думаю, что это может быть единственной причиной, потому что этот вызов успешен, когда приложение запускается локально.Или мне не хватает конфигурации на сервере?

1 Ответ

0 голосов
/ 25 мая 2018

Мне удалось решить эту проблему, сменив поставщика услуг веб-хостинга.Я пошел с Accuwebhosting.Я развернул свой код, вызвал API с помощью Postman и смог получить ответ.

Итак, это была ошибка GoDaddy.(Еще одна причина ненавидеть их?)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...