Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
En el cuerpo de la solicitud, proporcione una representación JSON de un objeto de contrato .
En la tabla siguiente se muestran las propiedades necesarias al crear un contrato.
Propiedad
Tipo
Descripción
displayName
Cadena
Nombre para mostrar del contrato.
isViewingBeforeAcceptanceRequired
Booleano
Indica si el usuario tiene que expandir y ver el contrato antes de aceptarlo.
fileName
Cadena
Nombre del archivo de contrato (por ejemplo, TOU.pdf).
isDefault
Booleano
Indica si este es el archivo de contrato predeterminado si el idioma coincide con la preferencia del cliente. Si ninguno de los archivos está marcado como predeterminado, el primero se trata como predeterminado.
language
Cadena
Idioma del archivo de contrato con el formato "languagecode2-country/regioncode2". "languagecode2" es un código de dos letras en minúsculas derivado de ISO 639-1, mientras que "country/regioncode2" se deriva de ISO 3166 y normalmente consta de dos letras mayúsculas, o una etiqueta de idioma BCP-47. Por ejemplo, el inglés de EE. UU. es en-US.
data
Binario
Datos que representan los términos de uso del documento PDF.
Respuesta
Si se ejecuta correctamente, este método devuelve un 201, Created código de respuesta y un objeto de acuerdo en el cuerpo de la respuesta.
Ejemplo
Solicitud
En el cuerpo de la solicitud, proporcione una representación JSON del objeto de contrato .
POST https://graph.microsoft.com/v1.0/identityGovernance/termsOfUse/agreements
Content-type: application/json
{
"displayName": "Contoso ToU for guest users",
"isViewingBeforeAcceptanceRequired": true,
"files": [
{
"fileName": "TOU.pdf",
"language": "en",
"isDefault": true,
"fileData": {
"data": "SGVsbG8gd29ybGQ=//truncated-binary"
}
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Agreement
{
DisplayName = "Contoso ToU for guest users",
IsViewingBeforeAcceptanceRequired = true,
Files = new List<AgreementFileLocalization>
{
new AgreementFileLocalization
{
FileName = "TOU.pdf",
Language = "en",
IsDefault = true,
FileData = new AgreementFileData
{
Data = Convert.FromBase64String("SGVsbG8gd29ybGQ=//truncated-binary"),
},
},
},
};
// 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.PostAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Agreement agreement = new Agreement();
agreement.setDisplayName("Contoso ToU for guest users");
agreement.setIsViewingBeforeAcceptanceRequired(true);
LinkedList<AgreementFileLocalization> files = new LinkedList<AgreementFileLocalization>();
AgreementFileLocalization agreementFileLocalization = new AgreementFileLocalization();
agreementFileLocalization.setFileName("TOU.pdf");
agreementFileLocalization.setLanguage("en");
agreementFileLocalization.setIsDefault(true);
AgreementFileData fileData = new AgreementFileData();
byte[] data = Base64.getDecoder().decode("SGVsbG8gd29ybGQ=//truncated-binary");
fileData.setData(data);
agreementFileLocalization.setFileData(fileData);
files.add(agreementFileLocalization);
agreement.setFiles(files);
Agreement result = graphClient.identityGovernance().termsOfUse().agreements().post(agreement);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\Agreement;
use Microsoft\Graph\Generated\Models\AgreementFileLocalization;
use Microsoft\Graph\Generated\Models\AgreementFileData;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Agreement();
$requestBody->setDisplayName('Contoso ToU for guest users');
$requestBody->setIsViewingBeforeAcceptanceRequired(true);
$filesAgreementFileLocalization1 = new AgreementFileLocalization();
$filesAgreementFileLocalization1->setFileName('TOU.pdf');
$filesAgreementFileLocalization1->setLanguage('en');
$filesAgreementFileLocalization1->setIsDefault(true);
$filesAgreementFileLocalization1FileData = new AgreementFileData();
$filesAgreementFileLocalization1FileData->setData(\GuzzleHttp\Psr7\Utils::streamFor(base64_decode('SGVsbG8gd29ybGQ=//truncated-binary')));
$filesAgreementFileLocalization1->setFileData($filesAgreementFileLocalization1FileData);
$filesArray []= $filesAgreementFileLocalization1;
$requestBody->setFiles($filesArray);
$result = $graphServiceClient->identityGovernance()->termsOfUse()->agreements()->post($requestBody)->wait();
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea: https://aka.ms/ContentUserFeedback.