名前空間: microsoft.graph
重要
Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
開いている timeCard を終了するために退勤します。
この API は、次の国内クラウド展開で使用できます。
| グローバル サービス |
米国政府機関 L4 |
米国政府機関 L5 (DOD) |
21Vianet が運営する中国 |
| ✅ |
❌ |
❌ |
❌ |
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。
アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。
| アクセス許可の種類 |
最小特権アクセス許可 |
より高い特権のアクセス許可 |
| 委任 (職場または学校のアカウント) |
Schedule.ReadWrite.All |
注意事項なし。 |
| 委任 (個人用 Microsoft アカウント) |
サポートされていません。 |
サポートされていません。 |
| アプリケーション |
Schedule.ReadWrite.All |
注意事項なし。 |
HTTP 要求
POST /teams/{teamId}/schedule/timeCards/{timeCardID}/clockOut
| ヘッダー |
値 |
| Authorization |
ベアラー {token}。 必須です。
認証と認可についての詳細をご覧ください。 |
| Content-type |
application/json. Required. |
| MS-APP-ACTS-AS (非推奨) |
ユーザー ID (GUID)。 承認トークンがアプリケーション トークンの場合にのみ必要です。それ以外の場合は省略可能です。
MS-APP-ACTS-AS ヘッダーは非推奨となり、アプリケーション トークンでは不要になりました。 |
要求本文
要求本文で、次のパラメーターを含む JSON オブジェクトを指定します。
| パラメーター |
型 |
説明 |
| isAtApprovedLocation |
ブール値 |
このアクションが承認済みの場所で行われるかどうかを示します。 |
| notes |
itemBody |
退勤に関するメモ。 |
| atApprovedLocation (非推奨) |
ブール値 |
このアクションが承認済みの場所で行われるかどうかを示します。 このプロパティは、2027 年 11 月 27 日までに削除されます。 代わりに isAtApprovedLocation を使用します。
atApprovedLocation
isAtApprovedLocationは常に同じ値を持つため、1 つを設定すると、もう一方の値が自動的に設定されます。 両方の値が異なる要求に含まれている場合は、 isAtApprovedLocation の値が優先されます。 |
応答
成功した場合、このメソッドは 204 No Content 応答コードを返します。
例
要求
次の例は要求を示しています。
POST https://graph.microsoft.com/beta/teams/fd15cad8-80f6-484f-9666-3caf695fbf32/schedule/timeCards/TCK_cc09588d-d9d2-4fa0-85dc-2aa5ef983972/clockout
Content-type: application/json
{
"isAtApprovedLocation": true,
"notes": {
"contentType": "text",
"content": "clocking out"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Teams.Item.Schedule.TimeCards.Item.ClockOut;
using Microsoft.Graph.Beta.Models;
var requestBody = new ClockOutPostRequestBody
{
IsAtApprovedLocation = true,
Notes = new ItemBody
{
ContentType = BodyType.Text,
Content = "clocking out",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Teams["{team-id}"].Schedule.TimeCards["{timeCard-id}"].ClockOut.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphteams "github.com/microsoftgraph/msgraph-beta-sdk-go/teams"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphteams.NewClockOutPostRequestBody()
isAtApprovedLocation := true
requestBody.SetIsAtApprovedLocation(&isAtApprovedLocation)
notes := graphmodels.NewItemBody()
contentType := graphmodels.TEXT_BODYTYPE
notes.SetContentType(&contentType)
content := "clocking out"
notes.SetContent(&content)
requestBody.SetNotes(notes)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
clockOut, err := graphClient.Teams().ByTeamId("team-id").Schedule().TimeCards().ByTimeCardId("timeCard-id").ClockOut().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.teams.item.schedule.timecards.item.clockout.ClockOutPostRequestBody clockOutPostRequestBody = new com.microsoft.graph.beta.teams.item.schedule.timecards.item.clockout.ClockOutPostRequestBody();
clockOutPostRequestBody.setIsAtApprovedLocation(true);
ItemBody notes = new ItemBody();
notes.setContentType(BodyType.Text);
notes.setContent("clocking out");
clockOutPostRequestBody.setNotes(notes);
var result = graphClient.teams().byTeamId("{team-id}").schedule().timeCards().byTimeCardId("{timeCard-id}").clockOut().post(clockOutPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const timeCard = {
isAtApprovedLocation: true,
notes: {
contentType: 'text',
content: 'clocking out'
}
};
await client.api('/teams/fd15cad8-80f6-484f-9666-3caf695fbf32/schedule/timeCards/TCK_cc09588d-d9d2-4fa0-85dc-2aa5ef983972/clockout')
.version('beta')
.post(timeCard);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Teams\Item\Schedule\TimeCards\Item\ClockOut\ClockOutPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\ItemBody;
use Microsoft\Graph\Beta\Generated\Models\BodyType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ClockOutPostRequestBody();
$requestBody->setIsAtApprovedLocation(true);
$notes = new ItemBody();
$notes->setContentType(new BodyType('text'));
$notes->setContent('clocking out');
$requestBody->setNotes($notes);
$result = $graphServiceClient->teams()->byTeamId('team-id')->schedule()->timeCards()->byTimeCardId('timeCard-id')->clockOut()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Teams
$params = @{
isAtApprovedLocation = $true
notes = @{
contentType = "text"
content = "clocking out"
}
}
Invoke-MgBetaClockTeamScheduleTimeCardOut -TeamId $teamId -TimeCardId $timeCardId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.teams.item.schedule.timecards.item.clock_out.clock_out_post_request_body import ClockOutPostRequestBody
from msgraph_beta.generated.models.item_body import ItemBody
from msgraph_beta.generated.models.body_type import BodyType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ClockOutPostRequestBody(
is_at_approved_location = True,
notes = ItemBody(
content_type = BodyType.Text,
content = "clocking out",
),
)
result = await graph_client.teams.by_team_id('team-id').schedule.time_cards.by_time_card_id('timeCard-id').clock_out.post(request_body)
応答
次の例は応答を示しています。
HTTP/1.1 204 No Content