如何从Microsoft Azure上托管的Web应用程序访问Books API?

时间:2016-01-20 08:38:16

标签: google-api azure-web-sites google-api-dotnet-client ip-geolocation google-books

我构建了一个足够简单的Web应用程序,该应用程序使用Google Books API检索用户提供的ISBN的卷信息。该应用程序使用官方C#库。请求通过API密钥授权。

在本地计算机上运行应用程序时,我使用德语IP地址访问该服务,一切正常。从Microsoft Azure访问Books API时,我收到以下错误:

  

Google.Apis.Requests.RequestError
  无法确定地理位置受限操作的用户位置。 [403]
  错误[
  消息[无法确定地理限制操作的用户位置。]
  位置[ - ]
  原因[unknownLocation]
  域[全球]
  ]

是否有人知道如何从Microsoft Azure中托管的Web应用程序访问Google Books API?

1 个答案:

答案 0 :(得分:0)

好的我不知道这是否有用。但您可以在请求中提供IP地址。如果它不告诉我,这可能会也可能不会起作用,我将删除它。

var bookService = new BooksService(new BaseClientService.Initializer()
    {
     ApiKey = "xxxx",
     ApplicationName = "BooksService Authentication Sample",
    });


var request = bookService.Bookshelves.List("user");
request.UserIp = "";  //<-- find an ip address to feed it
var result = request.Execute();

事情是谷歌通常会收到请求来自的IP地址。我想知道为什么它无法从Azure发送请求的IP地址中获取地理位置。