gpt4 book ai didi

android - 谷歌网址缩短器 API 错误(403 禁止)[更新]

转载 作者:可可西里 更新时间:2023-11-01 17:01:32 27 4
gpt4 key购买 nike

因此,我尝试在我的应用中使用 Google URL Shortener API。这是我编写的用于进行 HTTP 调用并检索缩短的 URL 的类。

public class GoogleUrlShortnerApi
{
//API Key from Google
private const string key = "-----------MY_KEY-----------";

public static string Shorten(string url)
{
string post = "{\"longUrl\": \"" + url + "\"}";

string shortUrl = url;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.googleapis.com/urlshortener/v1/url?key=" + key);

try {
request.ServicePoint.Expect100Continue = false;
request.Method = WebRequestMethods.Http.Post;
request.ContentLength = post.Length;
request.ContentType = "application/json";
request.Headers.Add("Cache-Control", "no-cache");

using (Stream requestStream = request.GetRequestStream())
{
byte[] postBuffer = Encoding.ASCII.GetBytes(post);
requestStream.Write(postBuffer, 0, postBuffer.Length);
}

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader responseReader = new StreamReader(responseStream))
{
string json = responseReader.ReadToEnd();
shortUrl = Regex.Match(json, @"""id"": ?""(?<id>.+)""").Groups["id"].Value;
}
}
}
} catch (WebException webEx) {
System.Diagnostics.Debug.WriteLine (webEx.Message);

string responseText;
using(var reader = new StreamReader(webEx.Response.GetResponseStream()))
{
responseText = reader.ReadToEnd();
}
} catch (Exception ex) {
System.Diagnostics.Debug.WriteLine (ex.Message);
}
return shortUrl;
}
}

但我不断收到“远程服务器返回错误:(403) 禁止访问。”错误。

我尝试调试并在类中的第二个 using 上放置断点..

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())

它永远不会进入 using 并捕获 WebException
谁能告诉我我在这里做错了什么?

感谢您的宝贵时间。

========================= 更新 ============== ===========

这是来自 WebExceptionresponseText 的值。我被允许每天提出 1,000,000 个请求。为什么会出现此错误?

{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "ipRefererBlocked",
"message": "There is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your API key configuration if request from this IP or referer should be allowed.",
"extendedHelp": "https://console.developers.google.com"
}
],
"code": 403,
"message": "There is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your API key configuration if request from this IP or referer should be allowed."
}
}

最佳答案

我想通了!!

我创建的 key 是用于 Android 设备的,它一直给我这个错误。所以在意识到这是 IP 问题后,我创建了一个 SERVER KEY,因为没有其他 key 有 IP 选项。我将服务器 key 放入我的应用程序中,然后 BOOM!成功了!

enter image description here

关于android - 谷歌网址缩短器 API 错误(403 禁止)[更新],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31662921/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com