Schritte zur Verwendung der benutzerdefinierten Such-API von Google in .NET

Ich versuche, die benutzerdefinierte Such-API von Google in meinem .NET-Projekt zu verwenden. Ich habe einen von meiner Firma bereitgestellten API-Schlüssel. Ich habe mit meinem Google-Konto eine benutzerdefinierte Suchmaschine erstellt und den Wert "cx" kopiert.

Ich benutze den folgenden Code:

string apiKey = "My company Key";
string cx = "Cx";
string query = tbSearch.Text;

WebClient webClient = new WebClient();
webClient.Headers.Add("user-agent", "Only a test!");

string result = webClient.DownloadString(String.Format("https://www.googleapis.com/customsearch/v1?key={0}&cx={1}&q={2}&alt=json", apiKey, cx, query));

Ich erhalte den folgenden Fehler: "Der Remoteserver hat einen Fehler zurückgegeben: (403) Verboten."

Ich habe auch den folgenden Code ausprobiert:

Google.Apis.Customsearch.v1.CustomsearchService svc = new Google.Apis.Customsearch.v1.CustomsearchService();
svc.Key = apiKey;

Google.Apis.Customsearch.v1.CseResource.ListRequest listRequest = svc.Cse.List(query);
listRequest.Cx = cx;
Google.Apis.Customsearch.v1.Data.Search search = listRequest.Fetch();

foreach (Google.Apis.Customsearch.v1.Data.Result result1 in search.Items)
{
   Console.WriteLine("Title: {0}", result1.Title);
   Console.WriteLine("Link: {0}", result1.Link);
}

Hier bekomme ich bei Fetch () folgende Ausnahme:

Google.Apis.Requests.RequestError Zugriff nicht konfiguriert [403] Fehler [Meldung [Zugriff nicht konfiguriert] Speicherort [-] Grund [accessNotConfigured] Domain [usageLimits]

Ist ein CX-Parameter erforderlich? Erhalte ich den Fehler, weil ich den von meinem Unternehmen bereitgestellten Schlüssel verwende und den CX-Parameter aus einer benutzerdefinierten Suchmaschine mit meinem Google-Konto verwende?

Gibt es eine andere Möglichkeit, 'cx' zu bekommen? Wir möchten keine Google-Anzeigen anzeigen.

Vielen Dank im Voraus für die Hilfe.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage