ProfilePhoto を取得する
名前空間: microsoft.graph
指定した profilePhoto またはそのメタデータ (profilePhoto プロパティ) を取得します。
Office 365 上でサポートされている HD Photo のサイズは次のとおりです: 48x48、64x64、96x96、120x120、240x240、360x360、432x432、504x504、648x648。 写真が Azure Active Directory に格納されている場合は、サイズに関する制限はありません。
使用可能な最大の写真のメタデータを取得したり、サイズを指定してその写真サイズのメタデータを取得したりできます。要求したサイズが使用できない場合でも、アップロードされて使用可能になっている、より小さいサイズを取得できます。たとえば、アップロードした写真が 504x504 ピクセルの場合は、648×648 を除くすべてのサイズの写真がダウンロード可能になります。
アクセス許可
この 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 |
チームのプロファイル写真を取得するには
| アクセス許可の種類 | アクセス許可 (特権の小さいものから大きいものへ) |
|---|---|
| 委任 (職場または学校のアカウント) | TeamReadBasicAll、TeamSettingsReadAll、TeamSettingsReadWriteAll |
| 委任 (個人用 Microsoft アカウント) | サポートされていません。 |
| アプリケーション | TeamReadBasicAll、TeamSettingsReadAll、TeamSettingsReadWriteAll |
ユーザーのプロファイル写真を取得するには
| アクセス許可の種類 | アクセス許可 (特権の小さいものから大きいものへ) |
|---|---|
| 委任 (職場または学校アカウント) | 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 アカウントではサポートされていません。
- 現在、アプリケーションのアクセス許可を使用してグループ写真にアクセスする場合に既知の問題があります。
- 現在、Microsoft Graph APIを使用してユーザーの写真を取得することは、Azure AD B2C テナントではサポートされていません。
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 /me/photos
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}
パス パラメーター
| パラメーター | 型 | 説明 |
|---|---|---|
| サイズ | 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/v1.0/me/photo/$value
応答
要求した写真のバイナリ データが含まれています。HTTP 応答コードは 200 です。
例 2: サインインしているユーザーの 48x48 の写真を取得します。
要求
GET https://graph.microsoft.com/v1.0/me/photos/48x48/$value
Content-Type: image/jpg
応答
要求した 48x48 の写真のバイナリ データが含まれています。HTTP 応答コードは 200 です。
例 3: サインインしているユーザーのユーザー写真のメタデータを取得します。
要求
GET https://graph.microsoft.com/v1.0/me/photo
応答
次の応答データは、写真のメタデータを示しています。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/photo/$entity",
"@odata.id": "https://graph.microsoft.com/v1.0/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/v1.0/$metadata#Me/photo/$entity",
"@odata.id": "https://graph.microsoft.com/v1.0/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/v1.0/teams/172b0cce-e65d-44ce-9a49-91d9f2e8491e/photo
応答
以下は、応答の例です。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('172b0cce-e65d-44ce-9a49-91d9f2e8491e')/photo/$entity",
"@odata.id": "https://graph.microsoft.com/v1.0/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/v1.0/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);
フィードバック
フィードバックの送信と表示