Microsoft graph api Microsoft Graph API:400(使用时);邀请;端点

Microsoft graph api Microsoft Graph API:400(使用时);邀请;端点,microsoft-graph-api,onedrive,http-status-code-400,invite,Microsoft Graph Api,Onedrive,Http Status Code 400,Invite,我想通过邮件向客户发送邀请,以便他们可以从我们的SharePoint下载文件。请求如下: https://graph.microsoft.com/v1.0/sites/{{siteId}}/drives/{{driveId}}/root:/Prueba/prueba.txt:/microsoft.graph.invite 附正文: { "recipients": [ {"email": "mail1@mail.com"},

我想通过邮件向客户发送邀请,以便他们可以从我们的SharePoint下载文件。请求如下:

https://graph.microsoft.com/v1.0/sites/{{siteId}}/drives/{{driveId}}/root:/Prueba/prueba.txt:/microsoft.graph.invite
附正文:

{
  "recipients": [
    {"email": "mail1@mail.com"},
    {"email": "mail2@mail.com"}
  ],
  "message": "Download your file",
  "requireSignIn": true,
  "sendInvitation": true,
  "roles": [ "read" ]
}
如果我用公司的邮件填写“收件人”,一切正常

但当我使用外部邮件(gmail、hotmail、其他公司的邮件等)时,这个机构的回复是400:

{
    "error": {
        "code": "invalidRequest",
        "message": "The request is malformed or incorrect.",
        }
    }
}
我想我们需要以某种方式配置SharePoint,但Microsoft支持无法帮助我们。有人能提出解决办法吗


谢谢

您可以在“收件人”属性中使用其他邮件帐户,如gmail、yahoo等,但在此之前,您需要修改站点设置。转到-->站点-->活动站点-->选择您正在使用的站点,然后单击“活动站点”标题下方的3个点,然后选择“共享”并使其成为任何人。

很抱歉,我没有玩过很多邀请。请检查Microsoft文档。但我记得onedrive中的创建/共享链接(使用MS Graph编程),您可以在其中与组织外的人共享。但请记住,对于OneDrive for Business和SharePoint,Shares API始终需要身份验证,并且在没有用户上下文的情况下无法用于访问匿名共享内容。Thaks,@Dev。我已经就createLink提出了类似的问题。。。使用作用域也存在同样的问题:匿名。那么,不可能从批处理过程中使用这些特性吗?我们不希望任何用户登录;只是一个java批处理过程,它将链接发送到外部客户端。您可以通过转到-->站点-->活动站点-->选择您正在使用的站点,然后单击“活动站点”标题下方的3个点,然后选择共享并使其成为任何人,来实现此调用。