1. はじめに
本記事は、こちらの記事の続きです。よろしければ先にご覧ください。
では早速、Microsoft Graph API の GET PUT POST をHttpClientで実行するメソッドを実装していきましょう。
2. 実装
HTTPメソッドにおける、 GET PUT POST についての詳細な説明はこちらをご覧ください。
2.1. GET
private async Task<string> GetHttpContentWithToken(string endPoint, string token)
{
try
{
//認証ヘッダーをトークンに追加
var request = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, endPoint);
request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);
var response = await m_HttpClient.SendAsync(request);
var content = await response.Content.ReadAsStringAsync();
return content;
}
catch (Exception ex)
{
return ex.ToString();
}
}
endPointにはエンドポイントなるものが、tokenには、前回の記事で取得した認証トークンが入ります。
エンドポイントの例を以下に記します。
$@"https://graph.microsoft.com/v1.0/me/drive"
これは自身のファイル情報を取得するものになります。
エンドポイントを指定することで、他にも様々な情報の取得が可能になります。
取得できる情報を知りたい方は、MSの公式ドキュメントを参照してください。
2.2. PUT
今回は、ファイルのアップロードに使用しました。
従ってfilePthには、アップロードするファイルのパスを設定しています。
private async Task<string> PutHttpContentWithToken(string endPoint, string token, string filePath)
{
try
{
//認証ヘッダーをトークンに追加
var request = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Put, endPoint);
request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);
byte[] binaryData = FileToByteArray(filePath);
ByteArrayContent binArrayContent = new ByteArrayContent(binaryData);
request.Content = binArrayContent;
var response = await m_HttpClient.SendAsync(request);
var content = await response.Content.ReadAsStringAsync();
return content;
}
catch (Exception ex)
{
return ex.ToString();
}
}
レクエストには、ファイルの中身をバイナリにして渡しています。
2.3. POST
private async Task<bool> PostHttpContentWithToken(string endPoint, string token)
{
try
{
//認証ヘッダーをトークンに追加
var request = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Post, endPoint);
request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);
var response = await m_HttpClient.SendAsync(request);
var isSuccess = response.IsSuccessStatusCode;
return isSuccess;
}
catch
{
return false;
}
}
3. 終わり
今回は、HTTPを使って、Microsoft Graph APIを実行しました。
このメソッドさえあれば、あとは任意のAPIをendpointに当てはめるだけで、さまざまなAPIの実行が可能になります。
引き続き、さまざな記事を投稿していこうかと思います。