私はLinkedInからパブリックプロファイル情報を取得しようとしています。これを実現するには、私は
http://api.linkedin.com/v1/people/url=public-profile-urlを提供しなければなりません。ここで、public-profile-urlはURLエンコードされなければなりません。URIクラスを使用中にURLをエンコードします
問題は、HttpClient、WebRequestなどの.NETクラスが、提供されたURLを「標準化」していると思われるUriクラスを使用しているため、適切な書式の要求を送信できないことです。
URIでなければなりません:
http://api.linkedin.com/v1/people/url=http%3a%2f%2fwww.linkedin.com%2fin%2fiftachragoler
が、次のとおりです。このように
http://api.linkedin.com/v1/people/url=http://www.linkedin.com/in/iftachragoler
、私はLinkedInのから '不正な要求' を取得します。
Uri/UriBuilderにそのURLをデコードしないようにする方法はありますか?
「http://api.linkedin.com/v1/people/url=」+ uri.ToString() 'のようなことをしていますか?それから、URIクラスは、それが何をすべきかを正確に実行しており、あなたはそれを間違っています。 – dtb
実際、私は "http://api.linkedin.com/v1/people/url=" + Url.Encode(profileUrl)を実行していて、それをDotNetOpenAuthに渡します.DotNetOpenAuth自身がそれをUriBuilderに渡します。 –
.NETにUrlクラスはありません。使用している実際のコードを表示してください。 – dtb