我在调用 maps.googleapis.com 时收到401错误,但我对原因感到困惑。我希望有人能指出我做错了什么。
在服务器上,我有一个包含以下代码的函数:
private string DoGoogleWork(string address) {
string GoogleServerAPIKey = "My Server API key";
string strXML = string.Empty;
using(WebClient c = new WebClient()){
var geoCodeUrl = "https://maps.googleapis.com/maps/api/geocode/xml?address=" + addr.Replace(' ', '+') + "&key=" + GoogleServerAPI;
try
{
strXML = c.DownloadString(geoCodeUrl); // raises a 401 exception
}
catch (Exception ex)
{
ErrorLogger(ex.Message);
}
}
//
// Parse the XML and do some work with the results
//
}
我的服务器 API 密钥没有 IP 限制,所以我不确定为什么会收到 401 错误。我希望有人能看到我缺少的东西。
啪!
>错误 401 表示授权标头无效。你使用的访问令牌已过期或无效。使用长期刷新令牌刷新访问令牌。如果此操作失败,请引导用户通过 OAuth 流,您需要获取新的身份验证令牌。
检查此相关线程。