Office 365のアクセストークンを取得できます。このトークンをヘッダーに添付してREST要求(GET)を行うことはできません。Asp.net C#でREST GETを行う方法?
私はこのコードを使用しています:
RestClient client = new RestClient();
client.EndPoint = @"https://outlook.office365.com/api/v1.0/me/folders/inbox/messages?$top=10";
client.Method = HttpVerb.GET;
client.ContentType = "application/json";
client.PostData = "authorization: Bearer " + myAccesToken.ToString();
String json = client.MakeRequest();
を私はhttp://jwt.calebb.netにアクセストークンをテストしてみた、それは大丈夫です。
しかし、それは常に戻っています:
The remote server returned an error: (400) Bad Request.
は、私は一種残りの部分にknewbyだと私の英語は申し訳ありません...良いことではありません! :)
(RE)EDIT
私はRestSharpで試したと私は少し私のコードを簡略化してきました...今
は私がGETを作るために私のアクセストークンを使用しています要求。リクエストに「許可ベアラー」を追加するにはどうすればよいですか?
このような感じですか?
//Ask for the token
var client = new RestClient("https://login.windows.net/common/oauth2/token");
var request = new RestRequest(Method.POST);
request.AddParameter("grant_type", "authorization_code");
request.AddParameter("code", Request.QueryString["code"]);
request.AddParameter("redirect_uri", myRedirectUri);
request.AddParameter("client_id", myClientID);
request.AddParameter("client_secret", myClientSecret);
IRestResponse response = client.Execute(request);
string content = "[" + response.Content + "]";
DataTable dadosToken = (DataTable)JsonConvert.DeserializeObject<DataTable>(content);
//I don't need a DataTable, but it was a way to retrieve my access token... :)
//Ask for info with the access token
var client2 = new RestClient("https://outlook.office365.com/api/v1.0/me");
var request2 = new RestRequest(Method.GET);
request2.AddHeader("authorization", myToken.ToString());
//I've tried this way also:
//client2.Authenticator = new OAuth2AuthorizationRequestHeaderAuthenticator(dadosToken.Rows[0]["access_token"].ToString(), "Bearer");
IRestResponse response2 = client2.Execute(request2);
string content2 = "[" + response2.Content + "]";
Response.Write(content2); //this returns NOTHING!
もう一度おねがいします!
[Postman](https://www.getpostman.com/)のようなものでこのリクエストを試すと、サービスから何か情報が戻ってきますか?あなたが[400](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_Error)を取得している詳細な理由のように? –
おそらく私は間違った方法を使用していますか?いいえ?より簡単に、より良い結果を生み出すことができるライブラリがありますか? – user3330412
あなたは '$'サインインアドレスが必要ですか? – MKasprzyk