Namespace: microsoft.graph
Wichtig
Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.
Uhr ein, um eine timeCard zu starten.
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
| Weltweiter Service |
US Government L4 |
US Government L5 (DOD) |
China, betrieben von 21Vianet |
| ✅ |
❌ |
❌ |
❌ |
Berechtigungen
Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.
| Berechtigungstyp |
Berechtigungen mit den geringsten Berechtigungen |
Berechtigungen mit höheren Berechtigungen |
| Delegiert (Geschäfts-, Schul- oder Unikonto) |
Schedule.ReadWrite.All |
Nicht verfügbar. |
| Delegiert (persönliches Microsoft-Konto) |
Nicht unterstützt |
Nicht unterstützt |
| Application |
Schedule.ReadWrite.All |
Nicht verfügbar. |
HTTP-Anforderung
POST /teams/{teamId}/schedule/timeCards/clockIn
| Kopfzeile |
Wert |
| Authorization |
Bearer {token}. Erforderlich. Erfahren Sie mehr über Authentifizierung und Autorisierung. |
| Content-type |
application/json. Erforderlich. |
| MS-APP-ACTS-AS (veraltet) |
Eine Benutzer-ID (GUID). Nur erforderlich, wenn das Autorisierungstoken ein Anwendungstoken ist. andernfalls optional. Der MS-APP-ACTS-AS Header ist veraltet und für Anwendungstoken nicht mehr erforderlich. |
Anforderungstext
Geben Sie im Anforderungstext ein JSON-Objekt mit den folgenden Parametern an.
| Parameter |
Typ |
Beschreibung |
| isAtApprovedLocation |
Boolean |
Gibt an, ob diese Aktion an einem genehmigten Ort erfolgt. |
| notes |
itemBody |
Notizen für die Uhr ein. |
| atApprovedLocation (veraltet) |
Boolean |
Gibt an, ob diese Aktion an einem genehmigten Ort erfolgt. Diese Eigenschaft wird am 27. November 2027 entfernt. Verwenden Sie isAtApprovedLocation stattdessen .
atApprovedLocation und isAtApprovedLocation haben immer den gleichen Wert, sodass durch festlegen eines automatisch der Wert für den anderen festgelegt wird. Wenn beide in der Anforderung mit unterschiedlichen Werten enthalten sind, hat der Wert für isAtApprovedLocation Vorrang. |
| onBehalfOfUserId |
string |
Die ID des Benutzers, für den Sie die Uhr verwenden. |
Antwort
Bei erfolgreicher Ausführung gibt die Methode den 201 Created Antwortcode und ein timeCard-Objekt im Antworttext zurück.
Beispiele
Beispiel 1: Uhr selbst
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
POST https://graph.microsoft.com/beta/teams/fd15cad8-80f6-484f-9666-3caf695fbf32/schedule/timeCards/clockin
Content-type: application/json
{
"isAtApprovedLocation": true,
"notes": {
"contentType": "text",
"content": "clocking in"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Teams.Item.Schedule.TimeCards.ClockIn;
using Microsoft.Graph.Beta.Models;
var requestBody = new ClockInPostRequestBody
{
IsAtApprovedLocation = true,
Notes = new ItemBody
{
ContentType = BodyType.Text,
Content = "clocking in",
},
};
// 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.ClockIn.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.NewClockInPostRequestBody()
isAtApprovedLocation := true
requestBody.SetIsAtApprovedLocation(&isAtApprovedLocation)
notes := graphmodels.NewItemBody()
contentType := graphmodels.TEXT_BODYTYPE
notes.SetContentType(&contentType)
content := "clocking in"
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
clockIn, err := graphClient.Teams().ByTeamId("team-id").Schedule().TimeCards().ClockIn().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.clockin.ClockInPostRequestBody clockInPostRequestBody = new com.microsoft.graph.beta.teams.item.schedule.timecards.clockin.ClockInPostRequestBody();
clockInPostRequestBody.setIsAtApprovedLocation(true);
ItemBody notes = new ItemBody();
notes.setContentType(BodyType.Text);
notes.setContent("clocking in");
clockInPostRequestBody.setNotes(notes);
var result = graphClient.teams().byTeamId("{team-id}").schedule().timeCards().clockIn().post(clockInPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const timeCard = {
isAtApprovedLocation: true,
notes: {
contentType: 'text',
content: 'clocking in'
}
};
await client.api('/teams/fd15cad8-80f6-484f-9666-3caf695fbf32/schedule/timeCards/clockin')
.version('beta')
.post(timeCard);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Teams\Item\Schedule\TimeCards\ClockIn\ClockInPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\ItemBody;
use Microsoft\Graph\Beta\Generated\Models\BodyType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ClockInPostRequestBody();
$requestBody->setIsAtApprovedLocation(true);
$notes = new ItemBody();
$notes->setContentType(new BodyType('text'));
$notes->setContent('clocking in');
$requestBody->setNotes($notes);
$result = $graphServiceClient->teams()->byTeamId('team-id')->schedule()->timeCards()->clockIn()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Teams
$params = @{
isAtApprovedLocation = $true
notes = @{
contentType = "text"
content = "clocking in"
}
}
Invoke-MgBetaClockTeamScheduleTimeCardIn -TeamId $teamId -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.clock_in.clock_in_post_request_body import ClockInPostRequestBody
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 = ClockInPostRequestBody(
is_at_approved_location = True,
notes = ItemBody(
content_type = BodyType.Text,
content = "clocking in",
),
)
result = await graph_client.teams.by_team_id('team-id').schedule.time_cards.clock_in.post(request_body)
Antwort
Das folgende Beispiel zeigt die Antwort.
Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.
HTTP/1.1 201 Created
Content-type: application/json
{
"id": "TCK_cc09588d-d9d2-4fa0-85dc-2aa5ef983972",
"createdDateTime": "2021-05-27T22:58:41.327Z",
"lastModifiedDateTime": "2021-05-27T22:58:41.327Z",
"userId": "70e47528-2fae-42b5-9d8e-ee73ccd90603",
"state": "clockedIn",
"confirmedBy": "none",
"clockOutEvent": null,
"notes": null,
"lastModifiedBy": {
"application": null,
"device": null,
"conversation": null,
"user": {
"id": "70e47528-2fae-42b5-9d8e-ee73ccd90603",
"displayName": "Jing Jing GuTwo"
}
},
"clockInEvent": {
"dateTime": "2021-05-27T22:58:41.327Z",
"atApprovedLocation": true,
"isAtApprovedLocation": true,
"notes": {
"contentType": "text",
"content": "clocking in"
}
},
"breaks": [],
"originalEntry": {
"clockOutEvent": null,
"clockInEvent": {
"dateTime": "2021-05-27T22:58:41.327Z",
"atApprovedLocation": true,
"isAtApprovedLocation": true,
"notes": {
"contentType": "text",
"content": "clocking in"
}
},
"breaks": []
},
"createdBy": {
"application": null,
"device": null,
"conversation": null,
"user": {
"id": "70e47528-2fae-42b5-9d8e-ee73ccd90603",
"displayName": "Jing Jing GuTwo"
}
}
}
Beispiel 2: Uhr im Namen eines anderen Benutzers
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
POST https://graph.microsoft.com/beta/teams/fd15cad8-80f6-484f-9666-3caf695fbf32/schedule/timeCards/clockin
Content-type: application/json
{
"isAtApprovedLocation": true,
"onBehalfOfUserId": "3f29c8e7-7a41-4d8e-99d6-2b1f76c9421e"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Teams.Item.Schedule.TimeCards.ClockIn;
var requestBody = new ClockInPostRequestBody
{
IsAtApprovedLocation = true,
OnBehalfOfUserId = "3f29c8e7-7a41-4d8e-99d6-2b1f76c9421e",
};
// 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.ClockIn.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"
//other-imports
)
requestBody := graphteams.NewClockInPostRequestBody()
isAtApprovedLocation := true
requestBody.SetIsAtApprovedLocation(&isAtApprovedLocation)
onBehalfOfUserId := "3f29c8e7-7a41-4d8e-99d6-2b1f76c9421e"
requestBody.SetOnBehalfOfUserId(&onBehalfOfUserId)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
clockIn, err := graphClient.Teams().ByTeamId("team-id").Schedule().TimeCards().ClockIn().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.clockin.ClockInPostRequestBody clockInPostRequestBody = new com.microsoft.graph.beta.teams.item.schedule.timecards.clockin.ClockInPostRequestBody();
clockInPostRequestBody.setIsAtApprovedLocation(true);
clockInPostRequestBody.setOnBehalfOfUserId("3f29c8e7-7a41-4d8e-99d6-2b1f76c9421e");
var result = graphClient.teams().byTeamId("{team-id}").schedule().timeCards().clockIn().post(clockInPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const timeCard = {
isAtApprovedLocation: true,
onBehalfOfUserId: '3f29c8e7-7a41-4d8e-99d6-2b1f76c9421e'
};
await client.api('/teams/fd15cad8-80f6-484f-9666-3caf695fbf32/schedule/timeCards/clockin')
.version('beta')
.post(timeCard);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Teams\Item\Schedule\TimeCards\ClockIn\ClockInPostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ClockInPostRequestBody();
$requestBody->setIsAtApprovedLocation(true);
$requestBody->setOnBehalfOfUserId('3f29c8e7-7a41-4d8e-99d6-2b1f76c9421e');
$result = $graphServiceClient->teams()->byTeamId('team-id')->schedule()->timeCards()->clockIn()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Teams
$params = @{
isAtApprovedLocation = $true
onBehalfOfUserId = "3f29c8e7-7a41-4d8e-99d6-2b1f76c9421e"
}
Invoke-MgBetaClockTeamScheduleTimeCardIn -TeamId $teamId -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.clock_in.clock_in_post_request_body import ClockInPostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ClockInPostRequestBody(
is_at_approved_location = True,
on_behalf_of_user_id = "3f29c8e7-7a41-4d8e-99d6-2b1f76c9421e",
)
result = await graph_client.teams.by_team_id('team-id').schedule.time_cards.clock_in.post(request_body)
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 201 Created
Content-type: application/json
{
"id": "TCK_95c44dff-bc12-4de2-8a9a-9772e4421eb4",
"createdDateTime": "2025-05-07T21:35:36.311Z",
"lastModifiedDateTime": "2025-05-07T21:35:36.311Z",
"userId": "3f29c8e7-7a41-4d8e-99d6-2b1f76c9421e",
"state": "clockedIn",
"confirmedBy": "none",
"clockOutEvent": null,
"notes": null,
"lastModifiedBy": {
"application": null,
"device": null,
"user": {
"id": "d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2",
"displayName": "Alice Bradford"
}
},
"clockInEvent": {
"dateTime": "2025-05-07T21:35:36.311Z",
"isAtApprovedLocation": true,
"notes": null
},
"breaks": [],
"originalEntry": {
"clockOutEvent": null,
"clockInEvent": {
"dateTime": "2025-05-07T21:35:36.311Z",
"isAtApprovedLocation": true,
"notes": null
},
"breaks": []
},
"createdBy": {
"application": null,
"device": null,
"user": {
"id": "d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2",
"displayName": "Alice Bradford"
}
}
}