Пространство имен: microsoft.graph
Важно!
API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Создайте сайт SharePoint.
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
| Тип разрешения |
Разрешение с наименьшими привилегиями |
Более высокие привилегированные разрешения |
| Делегированные (рабочая или учебная учетная запись) |
Sites.Create.All |
Sites.FullControl.All |
| Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
| Приложение |
Sites.Create.All |
Sites.FullControl.All |
HTTP-запрос
POST /sites
Текст запроса
В тексте запроса укажите представление объекта сайта в формате JSON.
При создании сайта можно указать следующие свойства.
| Свойство |
Тип |
Описание |
| description |
String |
Текст с описанием сайта. Наследуется от baseItem. |
| языковые стандарты |
String |
Языковые параметры сайта. |
| name |
String |
Имя сайта. Наследуется от baseItem. Необязательный параметр. |
| ownerIdentityToResolve |
identityInput |
Владелец сайта, который будет предоставлен только во время создания сайта. Необязательный параметр. |
| shareByEmailEnabled |
Логический |
Определяет, можно ли предоставлять общий доступ к сайту и его содержимому по электронной почте. Необязательный параметр. |
| шаблон |
siteTemplateType |
Указывает шаблон, применяемый к сайту. Допустимые значения: sitepagepublishing, sts, unknownFutureValue. Необязательный параметр. |
| webUrl |
String |
URL-адрес сайта, который можно указать только во время создания сайта. Наследуется от baseItem. Необязательный параметр. |
Отклик
В случае успешного выполнения этот метод возвращает код отклика 202 Accepted и объект сайта в теле отклика. Ответ также содержит Location заголовок, содержащий расположение getOperationStatus , созданного для обработки операции создания сайта. Проверьте состояние операции создания, выполнив запрос GET к этому расположению.
Примеры
Запрос
Ниже показан пример запроса.
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)
Отклик
Ниже приводится пример отклика.
HTTP/1.1 202 Accepted
Location: https://graph.microsoft.com/beta/sites/getOperationStatus(operationId='JXMnaHR0cHMlM0ElMkYlMkZncmFwaC5taWNyb3NvZnQuY29tJTJGc2l0ZXMlMkZ0ZWFtc2l0ZTE=')