命名空间:microsoft.graph
关注用户的 网站或 多个站点。
此 API 可用于以下国家级云部署。
| 全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
| ✅ |
✅ |
✅ |
✅ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
| 权限类型 |
最低特权权限 |
更高特权权限 |
| 委派(工作或学校帐户) |
Sites.ReadWrite.All |
不可用。 |
| 委派(个人 Microsoft 帐户) |
不支持。 |
不支持。 |
| 应用程序 |
Sites.ReadWrite.All |
不可用。 |
HTTP 请求
POST /users/{user-id | userPrincipalName}/followedSites/add
请求正文
在请求正文中,提供包含下表中提到的 id 参数的 JSON 对象的数组。
| 名称 |
值 |
说明 |
| id |
string |
项的唯一标识符。 |
响应
- 如果请求成功,此方法将返回所关注的站点数组。
- 如果在关注任何指定站点时发生错误,此方法将返回状态
207 代码,响应正文包含一个条目数组,其中包含 错误 对象和 siteId,指示无法关注哪些站点。
示例
下面是演示如何关注多个站点的 和 示例。
请求
POST https://graph.microsoft.com/beta/users/{user-id}/followedSites/add
Content-Type: application/json
{
"value":
[
{
"id": "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,712a596e-90a1-49e3-9b48-bfa80bee8740"
},
{
"id": "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,0271110f-634f-4300-a841-3a8a2e851851"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Users.Item.FollowedSites.Add;
using Microsoft.Graph.Beta.Models;
var requestBody = new AddPostRequestBody
{
Value = new List<Site>
{
new Site
{
Id = "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,712a596e-90a1-49e3-9b48-bfa80bee8740",
},
new Site
{
Id = "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,0271110f-634f-4300-a841-3a8a2e851851",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Users["{user-id}"].FollowedSites.Add.PostAsAddPostResponseAsync(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"
graphusers "github.com/microsoftgraph/msgraph-beta-sdk-go/users"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphusers.NewAddPostRequestBody()
site := graphmodels.NewSite()
id := "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,712a596e-90a1-49e3-9b48-bfa80bee8740"
site.SetId(&id)
site1 := graphmodels.NewSite()
id := "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,0271110f-634f-4300-a841-3a8a2e851851"
site1.SetId(&id)
value := []graphmodels.Siteable {
site,
site1,
}
requestBody.SetValue(value)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
add, err := graphClient.Users().ByUserId("user-id").FollowedSites().Add().PostAsAddPostResponse(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.users.item.followedsites.add.AddPostRequestBody addPostRequestBody = new com.microsoft.graph.beta.users.item.followedsites.add.AddPostRequestBody();
LinkedList<Site> value = new LinkedList<Site>();
Site site = new Site();
site.setId("contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,712a596e-90a1-49e3-9b48-bfa80bee8740");
value.add(site);
Site site1 = new Site();
site1.setId("contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,0271110f-634f-4300-a841-3a8a2e851851");
value.add(site1);
addPostRequestBody.setValue(value);
var result = graphClient.users().byUserId("{user-id}").followedSites().add().post(addPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const site = {
value:
[
{
id: 'contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,712a596e-90a1-49e3-9b48-bfa80bee8740'
},
{
id: 'contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,0271110f-634f-4300-a841-3a8a2e851851'
}
]
};
await client.api('/users/{user-id}/followedSites/add')
.version('beta')
.post(site);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Users\Item\FollowedSites\Add\AddPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\Site;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AddPostRequestBody();
$valueSite1 = new Site();
$valueSite1->setId('contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,712a596e-90a1-49e3-9b48-bfa80bee8740');
$valueArray []= $valueSite1;
$valueSite2 = new Site();
$valueSite2->setId('contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,0271110f-634f-4300-a841-3a8a2e851851');
$valueArray []= $valueSite2;
$requestBody->setValue($valueArray);
$result = $graphServiceClient->users()->byUserId('user-id')->followedSites()->add()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Sites
$params = @{
value = @(
@{
id = "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,712a596e-90a1-49e3-9b48-bfa80bee8740"
}
@{
id = "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,0271110f-634f-4300-a841-3a8a2e851851"
}
)
}
Add-MgBetaUserFollowedSite -UserId $userId -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.users.item.followedsites.add.add_post_request_body import AddPostRequestBody
from msgraph_beta.generated.models.site import Site
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AddPostRequestBody(
value = [
Site(
id = "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,712a596e-90a1-49e3-9b48-bfa80bee8740",
),
Site(
id = "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,0271110f-634f-4300-a841-3a8a2e851851",
),
],
)
result = await graph_client.users.by_user_id('user-id').followed_sites.add.post(request_body)
响应
如果成功,它将返回以下 JSON 响应。
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"id": "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,712a596e-90a1-49e3-9b48-bfa80bee8740",
"webUrl": "http://contoso.sharepoint.com/sites/SiteFollowed1",
"name": "SiteFollowed1",
"sharepointIds": {
"siteId": "da60e844-ba1d-49bc-b4d4-d5e36bae9019",
"siteUrl": "http://contoso.sharepoint.com/sites/SiteFollowed1",
"webId": "712a596e-90a1-49e3-9b48-bfa80bee8740"
},
"siteCollection": {
"hostname": "contoso.sharepoint.com"
}
},
{
"id": "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,0271110f-634f-4300-a841-3a8a2e851851",
"webUrl": "http://contoso.sharepoint.com/sites/SiteFollowed2",
"name": "SiteFollowed2",
"sharepointIds": {
"siteId": "da60e844-ba1d-49bc-b4d4-d5e36bae9019",
"siteUrl": "http://contoso.sharepoint.com/sites/SiteFollowed2",
"webId": "0271110f-634f-4300-a841-3a8a2e851851"
},
"siteCollection": {
"hostname": "contoso.sharepoint.com"
}
}
]
}
如果发生错误,它将返回以下 JSON 响应
HTTP/1.1 207 Multi-Status
Content-type: application/json
{
"value": [
{
"id": "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,512a596e-90a1-49e3-9b48-bfa80bee8740",
"error": {
"@odata.type": "#oneDrive.error",
"code": "invalidRequest",
"message": "The site Id information that is provided in the request is incorrect",
"innerError": {
"code": "invalidRequest",
"errorType": "expected",
"message": "The site Id information that is provided in the request is incorrect",
"stackTrace": "",
"throwSite": ""
}
}
},
{
"id": "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,0271110f-634f-4300-a841-3a8a2e851851",
"webUrl": "http://contoso.sharepoint.com/sites/SiteFollowed2",
"name": "SiteFollowed2",
"sharepointIds": {
"siteId": "da60e844-ba1d-49bc-b4d4-d5e36bae9019",
"siteUrl": "http://contoso.sharepoint.com/sites/SiteFollowed2",
"webId": "0271110f-634f-4300-a841-3a8a2e851851"
},
"siteCollection": {
"hostname": "contoso.sharepoint.com"
}
}
]
}