2

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

在我的本地机器上运行应用程序时,我使用德国 IP 地址访问该服务,一切都很好。但是,从 Microsoft Azure 访问 Books API 时出现以下错误:

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

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

4

1 回答 1

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 地址中获取地理位置。

于 2016-01-20T09:01:05.353 回答