Criar contrato
Artigo
07/18/2022
4 minutos para o fim da leitura
3 colaboradores
Neste artigo
Namespace: microsoft.graph
Crie um novo objeto de contrato.
Permissões
Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões .
Tipo de permissão
Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante)
Agreement.ReadWrite.All
Delegado (conta pessoal da Microsoft)
Sem suporte.
Aplicativo
Sem suporte.
Solicitação HTTP
POST /identityGovernance/termsOfUse/agreements
Nome
Descrição
Autorização
{token} de portador. Obrigatório.
Content-type
application/json. Obrigatório.
Corpo da solicitação
No corpo da solicitação, fornece uma representação JSON de um objeto de contrato.
A tabela a seguir mostra as propriedades que são necessárias ao criar um contrato.
Propriedade
Tipo
Descrição
displayName
Cadeia de caracteres
Nome de exibição do contrato.
isViewingBeforeAcceptanceRequired
Booliano
Indica se o usuário precisa expandir e exibir o contrato antes de aceitar.
fileName
String
Nome do arquivo de contrato (por exemplo, TOU.pdf).
isDefault
Booliano
Indica se esse é o arquivo de contrato padrão se o idioma corresponde à preferência do cliente. Se nenhum dos arquivos for marcado como padrão, o primeiro será tratado como padrão.
idioma
Cadeia de caracteres
O idioma do arquivo de contrato no formato "languagecode2-country/regioncode2". "languagecode2" é um código de duas letras minúsculo derivado da ISO 639-1, enquanto "country/regioncode2" é derivado da ISO 3166 e geralmente consiste em duas letras maiúsculas, ou uma marca de idioma BCP-47. Por exemplo, inglês dos EUA é en-US.
data
Binária
Dados que representam os termos de uso do documento PDF.
Resposta
Se tiver êxito, este método retornará um 201, Created código de resposta e um objeto agreement no corpo da resposta.
Exemplo
Solicitação
No corpo da solicitação, fornece uma representação JSON do objeto agreement .
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"
}
}
]
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var agreement = new Agreement
{
DisplayName = "Contoso ToU for guest users",
IsViewingBeforeAcceptanceRequired = true,
Files = new AgreementFilesCollectionPage()
{
new AgreementFileLocalization
{
FileName = "TOU.pdf",
Language = "en",
IsDefault = true,
FileData = new AgreementFileData
{
Data = Convert.FromBase64String("SGVsbG8gd29ybGQ=//truncated-binary")
}
}
}
};
await graphClient.IdentityGovernance.TermsOfUse.Agreements
.Request()
.AddAsync(agreement);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
const options = {
authProvider,
};
const client = Client.init(options);
const agreement = {
displayName: 'Contoso ToU for guest users',
isViewingBeforeAcceptanceRequired: true,
files: [
{
fileName: 'TOU.pdf',
language: 'en',
isDefault: true,
fileData: {
data: 'SGVsbG8gd29ybGQ=//truncated-binary'
}
}
]
};
await client.api('/identityGovernance/termsOfUse/agreements')
.post(agreement);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/identityGovernance/termsOfUse/agreements"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphAgreement *agreement = [[MSGraphAgreement alloc] init];
[agreement setDisplayName:@"Contoso ToU for guest users"];
[agreement setIsViewingBeforeAcceptanceRequired: true];
NSMutableArray *filesList = [[NSMutableArray alloc] init];
MSGraphAgreementFileLocalization *files = [[MSGraphAgreementFileLocalization alloc] init];
[files setFileName:@"TOU.pdf"];
[files setLanguage:@"en"];
[files setIsDefault: true];
MSGraphAgreementFileData *fileData = [[MSGraphAgreementFileData alloc] init];
[fileData setData:@"SGVsbG8gd29ybGQ=//truncated-binary"];
[files setFileData:fileData];
[filesList addObject: files];
[agreement setFiles:filesList];
NSError *error;
NSData *agreementData = [agreement getSerializedDataWithError:&error];
[urlRequest setHTTPBody:agreementData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
Agreement agreement = new Agreement();
agreement.displayName = "Contoso ToU for guest users";
agreement.isViewingBeforeAcceptanceRequired = true;
LinkedList<AgreementFileLocalization> filesList = new LinkedList<AgreementFileLocalization>();
AgreementFileLocalization files = new AgreementFileLocalization();
files.fileName = "TOU.pdf";
files.language = "en";
files.isDefault = true;
AgreementFileData fileData = new AgreementFileData();
fileData.data = Base64.getDecoder().decode("SGVsbG8gd29ybGQ=//truncated-binary");
files.fileData = fileData;
filesList.add(files);
AgreementFileLocalizationCollectionResponse agreementFileLocalizationCollectionResponse = new AgreementFileLocalizationCollectionResponse();
agreementFileLocalizationCollectionResponse.value = filesList;
AgreementFileLocalizationCollectionPage agreementFileLocalizationCollectionPage = new AgreementFileLocalizationCollectionPage(agreementFileLocalizationCollectionResponse, null);
agreement.files = agreementFileLocalizationCollectionPage;
graphClient.identityGovernance().termsOfUse().agreements()
.buildRequest()
.post(agreement);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewAgreement()
displayName := "Contoso ToU for guest users"
requestBody.SetDisplayName(&displayName)
isViewingBeforeAcceptanceRequired := true
requestBody.SetIsViewingBeforeAcceptanceRequired(&isViewingBeforeAcceptanceRequired)
requestBody.SetFiles( []AgreementFileLocalization {
msgraphsdk.NewAgreementFileLocalization(),
SetAdditionalData(map[string]interface{}{
"fileName": "TOU.pdf",
"language": "en",
"isDefault": true,
}
}
result, err := graphClient.IdentityGovernance().TermsOfUse().Agreements().Post(requestBody)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
Import-Module Microsoft.Graph.Identity.Governance
$params = @{
DisplayName = "Contoso ToU for guest users"
IsViewingBeforeAcceptanceRequired = $true
Files = @(
@{
FileName = "TOU.pdf"
Language = "en"
IsDefault = $true
FileData = @{
Data = [System.Text.Encoding]::ASCII.GetBytes("SGVsbG8gd29ybGQ=//truncated-binary")
}
}
)
}
New-MgIdentityGovernanceTermOfUseAgreement -BodyParameter $params
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
Resposta
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 201 Created
Content-type: application/json
{
"displayName": "MSGraph Sample",
"isViewingBeforeAcceptanceRequired": true,
"id": "093b947f-8363-4979-a47d-4c52b33ee1be"
}