Microsoft Graph APIを使用して、私たちのAzure Active Directoryテナント内のすべてのユーザーの一覧を取得し、プロファイル画像があるかどうかを判断できました。私はその後、写真のないユーザーのリストを取得してアップロードしたいと思っていましたが、使用しているアカウントにすべてのユーザーアカウントへのフルアクセス権があり、アプリケーションが完全なアクセス許可でセットアップされていても、グラフAPIに送信します。Microsoft Graph API別のユーザーの写真を更新しますか?
禁じられ
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri("https://graph.microsoft.com/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("image/jpeg"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", oauthToken);
// HTTP GET
HttpResponseMessage response = await client.PatchAsync($"v1.0/users/{emailAddress}/photo/$value", byteContent);
if (!response.IsSuccessStatusCode)
{
throw new Exception("Error!");
}
}
403グラフAPIを使用して、これを行うことはできませんか、私はどこかの許可をしないのですか?
SCP値は次のとおりです。 Calendars.Read Calendars.ReadWrite Contacts.Read Contacts.ReadWrite Directory.AccessAsUser.All Directory.Read.All Directory.ReadWrite.AllメールExchange.Manage Files.Read Files.Read.Selectedファイル.ReadWrite Files.ReadWrite.AppFolder Files.ReadWrite.Selected full_access_as_user Group.Read.All Group.ReadWrite.All Mail.Read Mail.ReadWrite Mail.Send MailboxSettings.ReadWrite Notes.Create Notes.Read Notes.Read.All Notes.ReadWrite Notes .ReadWrite.All Notes.ReadWrite.CreatedByApp offline_access openid People.Read People.ReadWriteプロファイルSites.Read.All Tasks.Read Tasks.ReadWrite User.Read User.Read.All User.ReadBasic.All User.ReadWrite User.ReadWrite.All
あなたがhttp://jwt.calebb.netであなたのトークンを入力してくださいことができ、 「scp」フィールドの値を教えてください。これはあなたのトークンの権限のリストです。ありがとう。 –
こんにちはVenkat、私はそれがコメントとして入力するには長すぎたので、元の投稿にSCP属性値を追加しました。 –
操作がPATCHで機能するかどうかは不明です。それはPUTでなければなりません。しかし、私も同じ問題(管理者ユーザーとして実行)をreproし、ここにトレースです。スコープには、別のユーザーの写真を更新するのに十分なはずのuser.readwrite.allが含まれています。 { "エラー":{ "code": "ErrorAccessDenied"、 "メッセージがアクセスできませんでした。資格情報を確認してからやり直してください。"、 "innerError":{ "request-id": "23559b24- d5e9-4dae-8311-94f706320b4b "、 " date ":" 2016-04-09T06:21:56 " } } } –