ProfilePhoto を取得する
名前空間: microsoft.graph
重要
Microsoft Graph の /beta
バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、バージョン セレクターを使用します。
指定した profilePhoto または、Microsoft 365 のメタデータ ( profilePhoto プロパティ) を取得します。
注: ユーザー の写真を取得しようとすると、まず、この操作によって Microsoft 365 から指定した写真を取得しようとします。 Microsoft 365 に利用できる写真がない場合は、API により Azure Active Directory から写真を取得しようとします。
Microsoft 365 上でサポートされている HD Photo のサイズは次のとおりです: 48x48、64x64、96x96、120x120、240x240、360x360、432x432、504x504、648x648。 写真が Azure Active Directory に格納されている場合は、サイズに関する制限はありません。
使用可能な最大の写真のメタデータを取得したり、サイズを指定してその写真サイズのメタデータを取得したりできます。 要求したサイズが使用できない場合でも、アップロードされて使用可能になっている、より小さいサイズを取得できます。 たとえば、アップロードした写真が 504x504 ピクセルの場合は、648×648 を除くすべてのサイズの写真がダウンロード可能になります。 指定したサイズがユーザーのメールボックスまたは Azure Active Directory で使用できない場合、サイズ 1x1 がメタデータの残りの部分と共に返されます。
アクセス許可
次の表は、サポートされている各リソースの種類でこの API を呼び出すために必要な最小特権のアクセス許可またはアクセス許可を示しています。 ベスト プラクティスに従って、最小限の特権のアクセス許可を要求します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「 アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、 アクセス許可のリファレンスを参照してください。
連絡先のプロファイル写真を取得するには
アクセス許可の種類 | 最小特権アクセス許可 | 特権の高いアクセス許可 |
---|---|---|
委任 (職場または学校のアカウント) | Contacts.Read | Contacts.ReadWrite |
委任 (個人用 Microsoft アカウント) | Contacts.Read | Contacts.ReadWrite |
アプリケーション | Contacts.Read | Contacts.ReadWrite |
グループのプロファイル写真を取得するには
アクセス許可の種類 | 最小特権アクセス許可 | 特権の高いアクセス許可 |
---|---|---|
委任 (職場または学校のアカウント) | Group.Read.All | Group.ReadWrite.All |
委任 (個人用 Microsoft アカウント) | サポートされていません。 | サポートされていません。 |
アプリケーション | Group.Read.All | Group.ReadWrite.All |
チームのプロフィール写真を取得するには
アクセス許可の種類 | 最小特権アクセス許可 | 特権の高いアクセス許可 |
---|---|---|
委任 (職場または学校アカウント) | Team.ReadBasic.All | TeamSettings.Read.All、TeamSettings.ReadWrite.All、Group.Read.All**、Group.ReadWrite.All**、Directory.Read.All**、Directory.ReadWrite.All** |
委任 (個人用 Microsoft アカウント) | サポートされていません。 | サポートされていません。 |
アプリケーション | TeamSettings.Read.Group* | TeamSettings.ReadWrite.Group*, Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, Group.ReadWrite.All**, Directory.Read.All**, Directory.ReadWrite.All** ** |
ユーザーのプロファイル写真を取得するには
アクセス許可の種類 | 最小特権アクセス許可 | 特権の高いアクセス許可 |
---|---|---|
委任 (職場または学校のアカウント) | User.Read | User.ReadBasic.All、User.Read.All、User.ReadWrite、User.ReadWrite.All |
委任 (個人用 Microsoft アカウント) | User.Read | User.ReadWrite |
アプリケーション | User.Read.All | User.ReadWrite.All |
注:
- メタデータ操作は、個人の Microsoft アカウントではサポートされていません。
- アプリケーションのアクセス許可のみを持つアプリは、グループの写真にアクセスできません。
- * でマークされたアクセス許可は、リソース固有の同意を使用します。
- ** でマークされたアクセス許可は、下位互換性のためにのみサポートされます。 前の表に記載されている別のアクセス許可を使用するようにソリューションを更新し、今後これらのアクセス許可を使用しないようにすることをお勧めします。
- 現在、Azure AD B2C テナントでは、Microsoft Graph APIを使用したユーザーの写真の取得はサポートされていません。
HTTP 要求
写真を取得する
GET /me/photo/$value
GET /users/{id | userPrincipalName}/photo/$value
GET /groups/{id}/photo/$value
GET /me/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/contacts/{id}/photo/$value
GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
GET /team/{id}/photo/$value
写真のメタデータを取得する
GET /me/photo
GET /users/{id | userPrincipalName}/photo
GET /groups/{id}/photo
GET /me/contacts/{id}/photo
GET /users/{id | userPrincipalName}/contacts/{id}/photo
GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo
GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo
GET /team/{id}/photo
特定の写真サイズのメタデータを取得する
GET /me/photos/{size}
GET /users/{id | userPrincipalName}/photos/{size}
GET /groups/{id}/photos/{size}
パス パラメーター
パラメーター | 型 | 説明 |
---|---|---|
size | String | 写真のサイズ。 Office 365 上でサポートされている HD Photo のサイズは次のとおりです: 48x48、64x64、96x96、120x120、240x240、360x360、432x432、504x504、648x648。 写真が Azure Active Directory に格納されている場合は、サイズに関する制限はありません。 |
オプションのクエリ パラメーター
このメソッドは、応答をカスタマイズするための OData クエリ パラメーターをサポートします。
要求ヘッダー
名前 | 型 | 説明 |
---|---|---|
Authorization | string | ベアラー {token}。 必須です。 |
要求本文
このメソッドには、要求本文を指定しません。
応答
写真の取得に対する応答
成功した場合、このメソッドは 200 OK
応答コードと、要求した写真のバイナリ データを応答本文で返します。 写真が存在しない場合、この操作により 404 Not Found
が返されます。
写真のメタデータの取得に対する応答
成功した場合、このメソッドは 200 OK
応答コードと、応答本文で profilePhoto オブジェクトを返します。
例
例 1: サインインしているユーザーの写真を利用可能な最大のサイズで取得します。
要求
GET https://graph.microsoft.com/beta/me/photo/$value
Content-Type: image/jpg
応答
要求した写真のバイナリ データが含まれています。 HTTP 応答コードは 200 です。
例 2: サインインしているユーザーの 48x48 の写真を取得します。
要求
GET https://graph.microsoft.com/beta/me/photos/48x48/$value
Content-Type: image/jpg
応答
要求した 48x48 の写真のバイナリ データが含まれています。 HTTP 応答コードは 200 です。
例 3: サインインしているユーザーのユーザー写真のメタデータを取得します。
要求
GET https://graph.microsoft.com/beta/me/photo
応答
次の応答データは、写真のメタデータを示しています。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Me/photo/$entity",
"@odata.id": "https://graph.microsoft.com/beta/users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/photo",
"@odata.mediaContentType": "image/jpeg",
"@odata.mediaEtag": "\"BA09D118\"",
"id": "240x240",
"width": 240,
"height": 240
}
次の応答データは、そのユーザーの写真がまだアップロードされていないときの応答の内容を示しています。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Me/photo/$entity",
"@odata.id": "https://graph.microsoft.com/beta/users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/photo",
"@odata.mediaContentType": "image/gif",
"@odata.mediaEtag": "",
"id": "1x1",
"width": 1,
"height": 1
}
例 4: 写真のメタデータを取得する
要求
チームの写真のメタデータを取得する要求の例を次に示します。
GET https://graph.microsoft.com/beta/teams/172b0cce-e65d-44ce-9a49-91d9f2e8491e/photo
応答
以下は、応答の例です。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('172b0cce-e65d-44ce-9a49-91d9f2e8491e')/photo/$entity",
"@odata.id": "https://graph.microsoft.com/beta/teams('172b0cce-e65d-44ce-9a49-91d9f2e8491e')/photo",
"@odata.mediaContentType": "image/jpeg",
"@odata.mediaEtag": "\"BA09D118\"",
"id": "240X240",
"width": 240,
"height": 240
}
例 5: チーム写真のバイナリ データを取得する
チームの写真のバイナリ データを取得する要求の例を次に示します。
要求
GET https://graph.microsoft.com/beta/teams/172b0cce-e65d-44ce-9a49-91d9f2e8491e/photo/$value
応答
要求した写真のバイナリ データが含まれています。 HTTP 応答コードは 200 です。
要求した写真のバイナリ データを使用する
/photo/$value
エンドポイントを使用してプロフィール写真のバイナリ データを取得するときに、そのデータを電子メールの添付ファイルとして追加するには、ベース 64 の文字列に変換する必要があります。 次の JavaScript の例は、Outlook メッセージの Attachments
パラメーターの値として渡すことができる配列を作成する方法を示しています。
const attachments = [{
'@odata.type': '#microsoft.graph.fileAttachment',
ContentBytes: file.toString('base64'),
Name: 'mypic.jpg'
}];
この例の実装については、「Node.js 用の Microsoft Graph Connect サンプル」を参照してください。
Web ページにイメージを表示する場合は、イメージからメモリ内オブジェクトを作成し、そのオブジェクトをイメージ要素のソースにします。 この操作の JavaScript の例を次に示します。
const url = window.URL || window.webkitURL;
const blobUrl = url.createObjectURL(image.data);
document.getElementById(imageElement).setAttribute("src", blobUrl);