Namespace: microsoft.graph
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Crie um novo ficheiro de contrato localizado.
Esta API está disponível nas seguintes implementações de cloud nacionais.
| Serviço global |
US Government L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Permissões
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
| Tipo de permissão |
Permissões com menos privilégios |
Permissões com privilégios superiores |
| Delegado (conta corporativa ou de estudante) |
Agreement.ReadWrite.All |
Indisponível. |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Aplicativo |
Sem suporte. |
Sem suporte. |
Importante
Em cenários delegados com contas escolares ou profissionais, tem de ser atribuída uma função de Microsoft Entra suportada ao utilizador com sessão iniciada.
O Administrador de Acesso Condicional é a função com menos privilégios suportada para esta operação. O Administrador de Segurança é uma função mais privilegiada suportada para esta operação.
Solicitação HTTP
POST /agreements/{agreementsId}/files
| Nome |
Descrição |
| Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type |
application/json. Obrigatório. |
Corpo da solicitação
No corpo do pedido, forneça uma representação JSON do objeto agreementFileLocalization .
Pode especificar as seguintes propriedades ao criar um contratoFileLocalization.
| Propriedade |
Tipo |
Descrição |
| displayName |
Cadeia de caracteres |
Nome a apresentar localizado do ficheiro de política de um contrato. O nome a apresentar localizado é apresentado aos utilizadores finais que veem o contrato. |
| fileData |
agreementFileData |
Dados que representam os termos de utilização do documento PDF. |
| fileName |
Cadeia de caracteres |
Nome do ficheiro de contrato (por exemplo, TOU.pdf). |
| isDefault |
Booliano |
Se nenhum dos idiomas corresponder à preferência do cliente, indica se este é o ficheiro de contrato predefinido . Se nenhum dos ficheiros estiver marcado como predefinido, o primeiro é tratado como a predefinição. Somente leitura. |
| isMajorVersion |
Booliano |
Indica se o ficheiro do contrato é uma atualização de versão principal. As atualizações de versões principais invalidam as aceitações do contrato no idioma correspondente. |
| idioma |
Cadeia de caracteres |
O idioma do ficheiro do contrato no formato "languagecode2-country/regioncode2". "languagecode2" é um código em minúsculas de duas letras derivado da ISO 639-1, enquanto "país/regiãocode2" é derivado da ISO 3166 e, normalmente, consiste em duas letras maiúsculas ou uma etiqueta de idioma BCP-47. Por exemplo, inglês dos E.U.A. é en-US. |
Resposta
Se for bem-sucedido, este método devolve um 200 OK código de resposta e um objeto agreementFileLocalization no corpo da resposta.
Exemplos
Solicitação
POST https://graph.microsoft.com/beta/identityGovernance/termsOfUse/agreements/94410bbf-3d3e-4683-8149-f034e55c39dd/files
Content-Type: application/json
{
"fileName": "Contoso ToU for guest users (French)",
"language": "fr-FR",
"isDefault": false,
"isMajorVersion": false,
"displayName": "Contoso ToU for guest users (French)",
"fileData": {
"data": "base64JVBERi0xLjUKJb/3ov4KNCAwIG9iago8PCAvTGluZWFyaX//truncated-binary-data"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new AgreementFileLocalization
{
FileName = "Contoso ToU for guest users (French)",
Language = "fr-FR",
IsDefault = false,
IsMajorVersion = false,
DisplayName = "Contoso ToU for guest users (French)",
FileData = new AgreementFileData
{
Data = Convert.FromBase64String("base64JVBERi0xLjUKJb/3ov4KNCAwIG9iago8PCAvTGluZWFyaX//truncated-binary-data"),
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.IdentityGovernance.TermsOfUse.Agreements["{agreement-id}"].Files.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"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewAgreementFileLocalization()
fileName := "Contoso ToU for guest users (French)"
requestBody.SetFileName(&fileName)
language := "fr-FR"
requestBody.SetLanguage(&language)
isDefault := false
requestBody.SetIsDefault(&isDefault)
isMajorVersion := false
requestBody.SetIsMajorVersion(&isMajorVersion)
displayName := "Contoso ToU for guest users (French)"
requestBody.SetDisplayName(&displayName)
fileData := graphmodels.NewAgreementFileData()
data := []byte("base64JVBERi0xLjUKJb/3ov4KNCAwIG9iago8PCAvTGluZWFyaX//truncated-binary-data")
fileData.SetData(&data)
requestBody.SetFileData(fileData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
files, err := graphClient.IdentityGovernance().TermsOfUse().Agreements().ByAgreementId("agreement-id").Files().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
AgreementFileLocalization agreementFileLocalization = new AgreementFileLocalization();
agreementFileLocalization.setFileName("Contoso ToU for guest users (French)");
agreementFileLocalization.setLanguage("fr-FR");
agreementFileLocalization.setIsDefault(false);
agreementFileLocalization.setIsMajorVersion(false);
agreementFileLocalization.setDisplayName("Contoso ToU for guest users (French)");
AgreementFileData fileData = new AgreementFileData();
byte[] data = Base64.getDecoder().decode("base64JVBERi0xLjUKJb/3ov4KNCAwIG9iago8PCAvTGluZWFyaX//truncated-binary-data");
fileData.setData(data);
agreementFileLocalization.setFileData(fileData);
AgreementFileLocalization result = graphClient.identityGovernance().termsOfUse().agreements().byAgreementId("{agreement-id}").files().post(agreementFileLocalization);
const options = {
authProvider,
};
const client = Client.init(options);
const agreementFileLocalization = {
fileName: 'Contoso ToU for guest users (French)',
language: 'fr-FR',
isDefault: false,
isMajorVersion: false,
displayName: 'Contoso ToU for guest users (French)',
fileData: {
data: 'base64JVBERi0xLjUKJb/3ov4KNCAwIG9iago8PCAvTGluZWFyaX//truncated-binary-data'
}
};
await client.api('/identityGovernance/termsOfUse/agreements/94410bbf-3d3e-4683-8149-f034e55c39dd/files')
.version('beta')
.post(agreementFileLocalization);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\AgreementFileLocalization;
use Microsoft\Graph\Beta\Generated\Models\AgreementFileData;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AgreementFileLocalization();
$requestBody->setFileName('Contoso ToU for guest users (French)');
$requestBody->setLanguage('fr-FR');
$requestBody->setIsDefault(false);
$requestBody->setIsMajorVersion(false);
$requestBody->setDisplayName('Contoso ToU for guest users (French)');
$fileData = new AgreementFileData();
$fileData->setData(\GuzzleHttp\Psr7\Utils::streamFor(base64_decode('base64JVBERi0xLjUKJb/3ov4KNCAwIG9iago8PCAvTGluZWFyaX//truncated-binary-data')));
$requestBody->setFileData($fileData);
$result = $graphServiceClient->identityGovernance()->termsOfUse()->agreements()->byAgreementId('agreement-id')->files()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.Governance
$params = @{
fileName = "Contoso ToU for guest users (French)"
language = "fr-FR"
isDefault = $false
isMajorVersion = $false
displayName = "Contoso ToU for guest users (French)"
fileData = @{
data = [System.Text.Encoding]::ASCII.GetBytes("base64JVBERi0xLjUKJb/3ov4KNCAwIG9iago8PCAvTGluZWFyaX//truncated-binary-data")
}
}
New-MgBetaIdentityGovernanceTermsOfUseAgreementFile -AgreementId $agreementId -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.models.agreement_file_localization import AgreementFileLocalization
from msgraph_beta.generated.models.agreement_file_data import AgreementFileData
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AgreementFileLocalization(
file_name = "Contoso ToU for guest users (French)",
language = "fr-FR",
is_default = False,
is_major_version = False,
display_name = "Contoso ToU for guest users (French)",
file_data = AgreementFileData(
data = base64.urlsafe_b64decode("base64JVBERi0xLjUKJb/3ov4KNCAwIG9iago8PCAvTGluZWFyaX//truncated-binary-data"),
),
)
result = await graph_client.identity_governance.terms_of_use.agreements.by_agreement_id('agreement-id').files.post(request_body)
Resposta
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/termsOfUse/agreements('94410bbf-3d3e-4683-8149-f034e55c39dd')/files/$entity",
"id": "90d1723c-52c1-40e3-a51a-da99a82c0327",
"fileName": "Contoso ToU for guest users (French)",
"displayName": "Contoso ToU for guest users (French)",
"language": "fr-FR",
"isDefault": false,
"isMajorVersion": false,
"createdDateTime": "2022-03-04T14:38:22.8292386Z",
"fileData": {
"data": "base64JVBERi0xLjUKJb/"
}
}