Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否列出SharePoint中的组和站点? 问题:检索下列sharepoint组和网站的列表_Javascript_Sharepoint_Fetch_Es6 Promise - Fatal编程技术网

Javascript 是否列出SharePoint中的组和站点? 问题:检索下列sharepoint组和网站的列表

Javascript 是否列出SharePoint中的组和站点? 问题:检索下列sharepoint组和网站的列表,javascript,sharepoint,fetch,es6-promise,Javascript,Sharepoint,Fetch,Es6 Promise,我正在尝试检索一个列表(或类似列表),其中包含当前用户正在跟踪的所有sharepoint网站和组。这将在SPFx Web部件中使用 我还需要检索groupId,而不仅仅是webId或listId MS Graphbeta提供了一个端点-me/followedSites,用于列出所有后续站点,但这并不一定包括所有组,而且肯定不包括groupId(我找到了解决方案,所以我将把它留在这里,让其他人来查找…) 解决方案:使用SharePoint Home api 使用SharePoint Home AP

我正在尝试检索一个列表(或类似列表),其中包含当前用户正在跟踪的所有sharepoint网站和组。这将在SPFx Web部件中使用

我还需要检索
groupId
,而不仅仅是
webId
listId

MS Graphbeta提供了一个端点-
me/followedSites
,用于列出所有后续站点,但这并不一定包括所有组,而且肯定不包括
groupId
(我找到了解决方案,所以我将把它留在这里,让其他人来查找…)

解决方案:使用SharePoint Home api 使用SharePoint Home API检索新令牌和url,然后使用新令牌对返回的url发出另一个请求

我将此小功能组合在一起,以帮助实现以下目标:

// An instantiated object from the WebPartContext is required
import { WebPartContext } from "@microsoft/sp-webpart-base";

// Retrieve a list of followed sites and groups
function FetchFollowed(context: WebPartContext): Promise<any[]> {
  return new Promise((resolve, reject) =>
    fetch(
      `${context.pageContext.web.absoluteUrl}/_api/sphomeservice/context?$expand=Token,Payload`,
      { headers: { accept: "application/json" } }
    )
      .then(response => response.json())
      .then(({ Urls, Token, Payload }) =>
        fetch(
          `${Urls[0]}/api/v1/sites/followed?expand=ItemReference&fillSiteData=true`,
          {
            headers: {
              Authorization: `Bearer ${Token.access_token}`,
              "sphome-apicontext": Payload
            }
          }
        )
          .then(result => result.json())
          .then(result => resolve(result.Items))
          .catch(reject)
      )
      .catch(reject)
  );
}
//需要WebPartContext中的实例化对象
从“@microsoft/sp webpart base”导入{WebPartContext}”;
//检索以下站点和组的列表
函数(上下文:WebPartContext):Promise{
返回新承诺((解决、拒绝)=>
取回(
`${context.pageContext.web.absoluteUrl}/\u api/sphomeservice/context?$expand=Token,有效负载`,
{头:{accept:“application/json”}
)
.then(response=>response.json())
.then({url,Token,Payload})=>
取回(
`${url[0]}/api/v1/sites/followed?expand=ItemReference&fillSiteData=true`,
{
标题:{
授权:`Bearer${Token.access_Token}`,
“sphome apicontext”:有效负载
}
}
)
.then(result=>result.json())
.then(result=>resolve(result.Items))
.捕获(拒绝)
)
.捕获(拒绝)
);
}

太棒了!非常感谢你。你知道有没有关于如何使用SitesAPI的文档?或者你知道如何过滤某些ItemReference属性吗?