写真を取得するGet photo

重要

Microsoft Graph の/betaバージョンの api は変更される可能性があります。APIs under the /beta version in Microsoft Graph are subject to change. 実稼働アプリケーションでは、これらの API の使用はサポートされていません。Use of these APIs in production applications is not supported.

指定した profilePhoto またはそのメタデータ (profilePhoto プロパティ) を取得します。Get the specified profilePhoto or its metadata (profilePhoto properties).

写真取得メソッドでは、まず Office 365 から指定した写真の取得を試行します。A GET photo method first attempts to retrieve the specified photo from Office 365. Office 365 に利用できる写真がない場合は、API により Azure Active Directory から写真の取得を試行します。If the photo is not available in Office 365, the API attempts to retrieve the photo from Azure Active Directory.

Office 365 上でサポートされている HD Photo のサイズは次のとおりです: 48x48、64x64、96x96、120x120、240x240、360x360、432x432、504x504、648x648。The supported sizes of HD photos in Office 365 are as follows: 48x48, 64x64, 96x96, 120x120, 240x240, 360x360, 432x432, 504x504, and 648x648. 写真が Azure Active Directory に格納されている場合は、サイズに関する制限はありません。Photos can be any dimension if they are stored in Azure Active Directory.

使用可能な最大の写真のメタデータを取得したり、サイズを指定してその写真サイズのメタデータを取得したりできます。You can get the metadata of the largest available photo, or specify a size to get the metadata for that photo size. 要求したサイズが使用できない場合でも、アップロードされて使用可能になっている、より小さいサイズを取得できます。If the size you request is not available, you can still get a smaller size that the user has uploaded and made available. たとえば、アップロードした写真が 504x504 ピクセルの場合は、648×648 を除くすべてのサイズの写真がダウンロード可能になります。For example, if the user uploads a photo that is 504x504 pixels, all but the 648x648 size of the photo will be available for download. 指定したサイズがユーザーのメールボックスにも Azure Active Directory にもない場合は、1x1 のサイズがメタデータの残りの部分とともに返されます。If the specified size is not available in the user's mailbox or in Azure Active Directory, the size 1x1 is returned with the rest of the metadata.

アクセス許可Permissions

この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

注: ベータ版の写真取得メソッドでは、ユーザーの職場用、学校用、個人用アカウントがサポートされます。Note: The GET photo method in beta supports a user's work, school, or personal accounts. ただし、写真メタデータ取得メソッドでは、ユーザーの職場用または学校用アカウントのみがサポートされ、個人用アカウントはサポートされていません。The GET photo metadata method, however, supports only the user's work or school accounts and not personal accounts.

アクセス許可の種類Permission type アクセス許可 (特権の小さいものから大きいものへ)Permissions (from least to most privileged)
委任 (職場または学校のアカウント)Delegated (work or school account) user リソースの場合:For user resource:
User.Read、User.ReadBasic.All、User.Read.All、User.ReadWrite、User.ReadWrite.AllUser.Read, User.ReadBasic.All, User.Read.All, User.ReadWrite, User.ReadWrite.All

group リソースの場合:For group resource:
Group.Read.All、Group.ReadWrite.AllGroup.Read.All, Group.ReadWrite.All

contact リソースの場合:For contact resource:
Contacts.Read、Contacts.ReadWriteContacts.Read, Contacts.ReadWrite
委任 (個人用 Microsoft アカウント)Delegated (personal Microsoft account)
注: メタデータ操作はサポートされていません。Note: Metadata operation is not supported.
user リソースの場合:For user resource:
User.Read、User.ReadWriteUser.Read, User.ReadWrite

contact リソースの場合:For contact resource:
Contacts.Read、Contacts.ReadWriteContacts.Read, Contacts.ReadWrite
アプリケーションApplication user リソースの場合:For user resource:
User.Read.All、User.ReadWrite.AllUser.Read.All, User.ReadWrite.All

group リソースの場合:For group resource:
Group.Read.All、Group.ReadWrite.AllGroup.Read.All, Group.ReadWrite.All

contact リソースの場合:For contact resource:
Contacts.Read、Contacts.ReadWriteContacts.Read, Contacts.ReadWrite

HTTP 要求HTTP request

写真を取得するGet the photo

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 the metadata of the photo

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 the metadata for a specific photo size

GET /me/photos/{size}
GET /users/{id | userPrincipalName}/photos/{size}
GET /groups/{id}/photos/{size}

パス パラメーターPath parameters

パラメーターParameter Type 説明Description
sizesize StringString 写真のサイズ。A photo size. Office 365 上でサポートされている HD Photo のサイズは次のとおりです: 48x48、64x64、96x96、120x120、240x240、360x360、432x432、504x504、648x648。The supported sizes of HD photos on Office 365 are as follows: 48x48, 64x64, 96x96, 120x120, 240x240, 360x360, 432x432, 504x504, and 648x648. 写真が Azure Active Directory に格納されている場合は、サイズに関する制限はありません。Photos can be any dimension if they are stored in Azure Active Directory.

オプションのクエリ パラメーターOptional query parameters

このメソッドは、応答をカスタマイズするための OData クエリ パラメーターをサポートします。This method supports the OData query parameters to help customize the response.

要求ヘッダーRequest headers

名前Name Type 説明Description
AuthorizationAuthorization stringstring ベアラー {トークン}。必須。Bearer {token}. Required.

要求本文Request body

このメソッドには、要求本文を指定しません。Do not supply a request body for this method.

応答Response

写真の取得に対する応答Response for getting the photo

成功した場合、このメソッドは 200 OK 応答コードと、要求した写真のバイナリ データを応答本文で返します。写真が存在しない場合、この操作により 404 Not Found が返されます。If successful, this method returns a 200 OK response code and binary data of the requested photo. If no photo exists, the operation returns 404 Not Found.

写真のメタデータの取得に対する応答Response for getting the metadata of the photo

成功した場合、このメソッドは 200 OK 応答コードと、応答本文で profilePhoto オブジェクトを返します。If successful, this method returns a 200 OK response code and a profilePhoto object in the response body.

Examples

例 1: サインインしているユーザーの写真を利用可能な最大のサイズで取得します。Example 1: Get the photo of the signed-in user in the largest available size

要求Request
GET https://graph.microsoft.com/beta/me/photo/$value
Content-Type: image/jpg
応答Response

要求した写真のバイナリ データが含まれています。Contains the binary data of the requested photo. HTTP 応答コードは 200 です。The HTTP response code is 200.

例 2: サインインしているユーザーの 48x48 の写真を取得します。Example 2: Get the 48x48 photo for the signed-in user

要求Request
GET https://graph.microsoft.com/beta/me/photos/48x48/$value
Content-Type: image/jpg
応答Response

要求した 48x48 の写真のバイナリ データが含まれています。Contains the binary data of the requested 48x48 photo. HTTP 応答コードは 200 です。The HTTP response code is 200.

例 3: サインインしているユーザーのユーザー写真のメタデータを取得します。Example 3: Get the metadata of the user photo of the signed-in user

要求Request
GET https://graph.microsoft.com/beta/me/photo
応答Response

次の応答データは、写真のメタデータを示しています。The following response data shows the photo metadata.

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。Note: The response object shown here might be shortened for readability.

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
}

次の応答データは、そのユーザーの写真がまだアップロードされていないときの応答の内容を示しています。The following response data shows the contents of a response when a photo hasn't already been uploaded for the user.

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。Note: The response object shown here might be shortened for readability.

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
}

要求した写真のバイナリ データを使用するUsing the binary data of the requested photo

/photo/$value エンドポイントを使用してプロフィール写真のバイナリ データを取得するときに、そのデータを電子メールの添付ファイルとして追加するには、ベース 64 の文字列に変換する必要があります。When you use the /photo/$value endpoint to get the binary data for a profile photo, you'll need to convert the data into a base-64 string in order to add it as an email attachment. 次の JavaScript の例は、Outlook メッセージAttachments パラメーターの値として渡すことができる配列を作成する方法を示しています。The following JavaScript example shows how to create an array that you can pass as the value of the Attachments parameter of an Outlook message.

  const attachments = [{
    '@odata.type': '#microsoft.graph.fileAttachment',
    ContentBytes: file.toString('base64'),
    Name: 'mypic.jpg'
  }];

この例の実装については、「Node.js 用の Microsoft Graph Connect サンプル」を参照してください。See the Microsoft Graph Connect Sample for Node.js for an implementation of this example.

Web ページにイメージを表示する場合は、イメージからメモリ内オブジェクトを作成し、そのオブジェクトをイメージ要素のソースにします。If you want to display the image on a web page, create an in-memory object from the image and make that object the source of an image element. この操作の JavaScript の例を次に示します。Here is an example in JavaScript of this operation.

const url = window.URL || window.webkitURL;
const blobUrl = url.createObjectURL(image.data);
document.getElementById(imageElement).setAttribute("src", blobUrl);