我需要在B2B Azure AD上对用户执行多项操作。
我可以通过以下端点成功创建/读取/更新/删除用户:https://graph.windows.net/mytenant.onmicrosoft.com/users?api-version=1.6
但是我不知道如何找到合适的端点来邀请租户中的访客用户。 documentation说https://graph.microsoft.com/v1.0/invitations,但是使用此端点,我总是遇到此错误:
{
"error":{
"code":"InvalidAuthenticationToken",
"message":"Access token validation failure.",
"innerError":{
"request-id":"cb182623-39c1-4489-b649-d209d9c8d7fa",
"date":"2018-08-23T09:53:32"
}
}
}
如果我尝试构建一个类似于用户https://graph.windows.net/mytenant.onmicrosoft.com/invitations?api-version=1.6的端点,则会得到以下信息:
{
"odata.error":{
"code":"Request_ResourceNotFound",
"message":{
"lang":"en",
"value":"Resource not found for the segment 'invitations'."
}
}
}
如果我尝试使用邀请文档为用户提供的端点https://graph.microsoft.com/v1.0/users,则会收到相同的错误:
{
"error":{
"code":"InvalidAuthenticationToken",
"message":"Access token validation failure.",
"innerError":{
"request-id":"80d0c785-7769-4d8c-a6a6-82fb67f30ffa",
"date":"2018-08-23T09:51:37"
}
}
}
所以我想这不是令牌问题,而是端点问题。如果有人可以给我很好的方法来执行此邀请,将不胜感激。
答案 0 :(得分:1)
您需要为Microsoft Graph API获取另一个访问令牌。
获取令牌时,请使用资源public static void SendEMail(string to, string subject, string body)
{
SmtpClient smtpClient = new SmtpClient("smtp.mail.yahoo.com", 587);
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.Credentials = new NetworkCredential("my@com.pl", "12345!");
MailMessage mailMessage = new MailMessage("\"" + Info.SiteName + "\" <" + Info.EMail + ">", "recipient1@gmail.com");
mailMessage.Bcc.Add("recipient2@gmail.com");
mailMessage.Bcc.Add("recipient3@gmail.com");
mailMessage.Bcc.Add("recipient4@gmail.com");
mailMessage.Bcc.Add("recipient5@gmail.com");
mailMessage.Bcc.Add("recipient6@gmail.com");
mailMessage.IsBodyHtml = true;
mailMessage.Priority = MailPriority.High;
mailMessage.Body = body;
mailMessage.BodyEncoding = System.Text.Encoding.UTF8;
mailMessage.Subject = subject;
mailMessage.SubjectEncoding = System.Text.Encoding.UTF8;
smtpClient.Send(mailMessage);
}
。
然后使用https://graph.microsoft.com
发送邀请。
您具有Azure AD Graph API的访问令牌,并且不适用于Microsoft Graph API。