Sto cercando di ottenere informazioni sul profilo pubblico da LinkedIn. Per raggiungere questo obiettivo, devo fornire
http://api.linkedin.com/v1/people/url=public-profile-url, dove URL di profilo pubblico DEVE essere codificato URL.Mantieni l'url codificato durante l'utilizzo della classe URI
Il problema è che le classi .NET come HttpClient, WebRequest ecc utilizzano la classe Uri che sembra "canonizzare" l'URL fornito, in modo che non riesca a ottenere la richiesta formattata corretta inviata.
L'URI deve essere:
http://api.linkedin.com/v1/people/url=http%3a%2f%2fwww.linkedin.com%2fin%2fiftachragoler
ma è:
http://api.linkedin.com/v1/people/url=http://www.linkedin.com/in/iftachragoler
In questo modo, ottengo 'Bad Request' da LinkedIn.
C'è un modo in cui Uri/UriBuilder può non decodificare quell'URL?
Stai facendo qualcosa come '" http://api.linkedin.com/v1/people/url= "+ uri.ToString()'? Quindi la classe URI sta facendo esattamente quello che dovrebbe fare e tu stai sbagliando. – dtb
In realtà, sto facendo "http://api.linkedin.com/v1/people/url=" + Url.Encode (profileUrl), quindi passando a DotNetOpenAuth che lo passa a UriBuilder. –
Non esiste una classe Url in .NET. Si prega di mostrare il codice effettivo che si sta utilizzando. – dtb