Chcę wywołać google url shortner API z mojego C# Console Application, wniosek staram się realizować to:nazywając google Url Shortner API w C#
POST https://www.googleapis.com/urlshortener/v1/url
Content-Type: application/json
{"longUrl": " http://www.google.com/ "}
Kiedy próbuję użyć tego kodu:
using System.Net;
using System.Net.Http;
using System.IO;
a główną metodą jest:
static void Main(string[] args)
{
string s = "http://www.google.com/";
var client = new HttpClient();
// Create the HttpContent for the form to be posted.
var requestContent = new FormUrlEncodedContent(new[] {new KeyValuePair<string, string>("longUrl", s),});
// Get the response.
HttpResponseMessage response = client.Post("https://www.googleapis.com/urlshortener/v1/url",requestContent);
// Get the response content.
HttpContent responseContent = response.Content;
// Get the stream of the content.
using (var reader = new StreamReader(responseContent.ContentReadStream))
{
// Write the output.
s = reader.ReadToEnd();
Console.WriteLine(s);
}
Console.Read();
}
pojawia się kod błędu 400: Ten interfejs API nie obsługuje parsowania wejście zakodowane w formie. Nie wiem, jak to naprawić.
'ciąg ciąg MATCH_PATTERN = @" "" id "":? "" (?. +) "" "; Console.WriteLine (Regex.Match (responseText, MATCH_PATTERN) .Groups ["id"]. Wartość); 'dostaje skrócony URL. –
application/json był dla mnie brakującym elementem. Używał text/json, jak idiota. – Jon