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 site do SharePoint.
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ão com menos privilégios |
Permissões com privilégios superiores |
| Delegado (conta corporativa ou de estudante) |
Sites.Create.All |
Sites.FullControl.All |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Application |
Sites.Create.All |
Sites.FullControl.All |
Solicitação HTTP
POST /sites
| 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 do site .
Pode especificar as seguintes propriedades ao criar um site.
| Propriedade |
Tipo |
Descrição |
| description |
Cadeia de caracteres |
O texto descritivo do site. Herdado de baseItem. |
| localidade |
Cadeia de caracteres |
As definições de idioma do site. |
| nome |
Cadeia de caracteres |
O nome do site. Herdado de baseItem. Opcional. |
| ownerIdentityToResolve |
identityInput |
O proprietário do site a ser fornecido apenas no momento da criação do site. Opcional. |
| shareByEmailEnabled |
Booliano |
Determina se o site e o respetivo conteúdo podem ser partilhados por e-mail. Opcional. |
| template |
siteTemplateType |
Especifica o modelo aplicado ao site. Os valores possíveis são: sitepagepublishing, group, sts, unknownFutureValue. Opcional. |
| webUrl |
String |
O URL do site que só pode ser fornecido no momento da criação do site. Herdado de baseItem. Opcional. |
Resposta
Se for bem-sucedido, este método devolve um 202 Accepted código de resposta e um objeto de site no corpo da resposta. A resposta também contém um Location cabeçalho, que contém a localização do getOperationStatus que foi criado para processar a operação de criação do site. Verifique a status da operação de criação ao fazer um pedido GET para esta localização.
Exemplos
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/beta/sites
Content-Type: application/json
{
"name": "Communication Site Test",
"webUrl": "https://contoso.sharepoint.com/sites/commsite1",
"locale": "en-US",
"shareByEmailEnabled": false,
"description": "Test Site Description",
"template": "sitepagepublishing",
"ownerIdentityToResolve": {
"email": "ryan@contoso.com"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new Site
{
Name = "Communication Site Test",
WebUrl = "https://contoso.sharepoint.com/sites/commsite1",
Locale = "en-US",
ShareByEmailEnabled = false,
Description = "Test Site Description",
Template = SiteTemplateType.Sitepagepublishing,
OwnerIdentityToResolve = new IdentityInput
{
Email = "ryan@contoso.com",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Sites.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.NewSite()
name := "Communication Site Test"
requestBody.SetName(&name)
webUrl := "https://contoso.sharepoint.com/sites/commsite1"
requestBody.SetWebUrl(&webUrl)
locale := "en-US"
requestBody.SetLocale(&locale)
shareByEmailEnabled := false
requestBody.SetShareByEmailEnabled(&shareByEmailEnabled)
description := "Test Site Description"
requestBody.SetDescription(&description)
template := graphmodels.SITEPAGEPUBLISHING_SITETEMPLATETYPE
requestBody.SetTemplate(&template)
ownerIdentityToResolve := graphmodels.NewIdentityInput()
email := "ryan@contoso.com"
ownerIdentityToResolve.SetEmail(&email)
requestBody.SetOwnerIdentityToResolve(ownerIdentityToResolve)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
sites, err := graphClient.Sites().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Site site = new Site();
site.setName("Communication Site Test");
site.setWebUrl("https://contoso.sharepoint.com/sites/commsite1");
site.setLocale("en-US");
site.setShareByEmailEnabled(false);
site.setDescription("Test Site Description");
site.setTemplate(SiteTemplateType.Sitepagepublishing);
IdentityInput ownerIdentityToResolve = new IdentityInput();
ownerIdentityToResolve.setEmail("ryan@contoso.com");
site.setOwnerIdentityToResolve(ownerIdentityToResolve);
Site result = graphClient.sites().post(site);
const options = {
authProvider,
};
const client = Client.init(options);
const site = {
name: 'Communication Site Test',
webUrl: 'https://contoso.sharepoint.com/sites/commsite1',
locale: 'en-US',
shareByEmailEnabled: false,
description: 'Test Site Description',
template: 'sitepagepublishing',
ownerIdentityToResolve: {
email: 'ryan@contoso.com'
}
};
await client.api('/sites')
.version('beta')
.post(site);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Site;
use Microsoft\Graph\Beta\Generated\Models\SiteTemplateType;
use Microsoft\Graph\Beta\Generated\Models\IdentityInput;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Site();
$requestBody->setName('Communication Site Test');
$requestBody->setWebUrl('https://contoso.sharepoint.com/sites/commsite1');
$requestBody->setLocale('en-US');
$requestBody->setShareByEmailEnabled(false);
$requestBody->setDescription('Test Site Description');
$requestBody->setTemplate(new SiteTemplateType('sitepagepublishing'));
$ownerIdentityToResolve = new IdentityInput();
$ownerIdentityToResolve->setEmail('ryan@contoso.com');
$requestBody->setOwnerIdentityToResolve($ownerIdentityToResolve);
$result = $graphServiceClient->sites()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.site import Site
from msgraph_beta.generated.models.site_template_type import SiteTemplateType
from msgraph_beta.generated.models.identity_input import IdentityInput
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Site(
name = "Communication Site Test",
web_url = "https://contoso.sharepoint.com/sites/commsite1",
locale = "en-US",
share_by_email_enabled = False,
description = "Test Site Description",
template = SiteTemplateType.Sitepagepublishing,
owner_identity_to_resolve = IdentityInput(
email = "ryan@contoso.com",
),
)
result = await graph_client.sites.post(request_body)
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 202 Accepted
Location: https://graph.microsoft.com/beta/sites/getOperationStatus(operationId='JXMnaHR0cHMlM0ElMkYlMkZncmFwaC5taWNyb3NvZnQuY29tJTJGc2l0ZXMlMkZ0ZWFtc2l0ZTE=')