我构建了一个足够简单的Web应用程序,该应用程序使用Google Books API检索用户提供的ISBN的卷信息。该应用程序使用官方C#库。请求通过API密钥授权。
在本地计算机上运行应用程序时,我使用德语IP地址访问该服务,一切正常。从Microsoft Azure访问Books API时,我收到以下错误:
Google.Apis.Requests.RequestError
无法确定地理位置受限操作的用户位置。 [403]
错误[
消息[无法确定地理限制操作的用户位置。]
位置[ - ]
原因[unknownLocation]
域[全球]
]
是否有人知道如何从Microsoft Azure中托管的Web应用程序访问Google Books API?
答案 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地址中获取地理位置。