如何为GraphServiceClient的SharedWithMe请求追加allowexternal查询参数?
解决方法
因为Graph SDK v5自动生成的SharedWithMeRequestConfiguration类未内置AllowExternal查询参数(可能存在API文档与SDK代码生成不同步的情况),你可以通过以下两种方式手动追加allowexternal=true参数:
方式一:直接添加自定义查询参数
在请求配置中手动注入allowexternal参数:
var result = await graphClient.Drives["{drive-id}"].SharedWithMe.GetAsync(requestConfiguration => { requestConfiguration.QueryParameters.Add("allowexternal", "true"); });
方式二:修改请求URL(备选方案)
如果上述方式不生效,可直接修改请求的完整URL:
// 先获取默认请求URI var baseRequestUri = graphClient.Drives["{drive-id}"].SharedWithMe.ToRequestInformation().Uri; // 追加查询参数 var requestUri = new Uri($"{baseRequestUri}?allowexternal=true"); // 发送请求并接收响应 var result = await graphClient.RequestAdapter.SendAsync<DriveItemCollectionResponse>( requestUri, cancellationToken: default );
注意事项
- 参数名需使用小写的
allowexternal,与API要求的查询字符串保持一致 - 对于Graph SDK v5中未被自动生成的查询参数,均可以通过
QueryParameters.Add的方式手动添加
内容的提问来源于stack exchange,提问作者PetP
相关产品推荐
相关产品推荐

