当前位置: 首页 > 知识库问答 >
问题:

未知的呼叫/测试/邀请

何峰
2023-03-14
namespace ConsoleApplication1
{
    public class Program
    {
        static void Main(string[] args)
        {
            GraphClient g = new GraphClient();
            Console.WriteLine(g.SendPost(g.authContext, g.credential).Result);
        }        
    }

    public class GraphClient
    {
        public AuthenticationContext authContext;
        public ClientCredential credential;
        public GraphClient()
        {
            this.authContext = new AuthenticationContext("https://login.microsoftonline.com/MYTENANT.onmicrosoft.com");
            this.credential = new ClientCredential("MYCLIENTID", "MYCLIENTSECRET");
        }
        public async Task<string> SendPost(AuthenticationContext authContext, ClientCredential credential)
        {
            AuthenticationResult result = await authContext.AcquireTokenAsync("https://graph.microsoft.com", credential);

            HttpClient http = new HttpClient();
            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "https://graph.microsoft.com/beta/invitations");
            request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);
            request.Content = new StringContent("{\"invitedUserEmailAddress\": \"MYEMAIL@MYDOMAIN.COM\",\"inviteRedirectUrl\": \"https://MYWEBSITE.COM\"}", Encoding.UTF8, "application/json");

            HttpResponseMessage response = await http.SendAsync(request);
            return await response.Content.ReadAsStringAsync();
        }
    }

}

谢了!我可以做其他/beta命令很好。例如,获取https://graph.microsoft.com/beta/users会返回我的租户中的用户列表。

-丹

共有1个答案

公孙宏远
2023-03-14

根据日志,您将收到一个401错误响应,这意味着调用方没有被授予调用API所需的权限。您需要遵循以下指南:https://graph.microsoft.io/en-us/docs/api-reference/beta/api/invitation_post,这表明您需要directory.readwrite.all或user.readwrite.all(尽管我不确定后者是否有效)。

我们还提交了一个bug来修复这个错误消息(对此很抱歉--我们确实需要在这里做得更好)。

希望这能有所帮助,

 类似资料:
  • 问题内容: 我进行了ajax调用,但始终出现此错误: 419(未知状态) 不知道是什么原因造成的,我在其他帖子上看到了它必须使用csrf令牌执行某些操作,但是我没有表单,所以我不知道如何解决此问题。 我的电话: 我的路线: 我的控制器方法 最终目标是在html元素中显示响应中的内容。 问题答案: 在头部使用此命令: 并在ajax中获取csrf令牌: 请参考Laravel文档csrf_token

  • 我使用restful api进行语音调用。我用这个来称呼自己。当我的电话响时,我不接通就挂断了。大约20秒后,我又接到了Twilio的电话。 curl'https://api.twilio.com/2010-04-01/accounts/accountsid/calls.json'-x post--data-urlencode'to=+1111111'--data-urlencode'from=+

  • 如果使用基于回调的异步测试,如果done()多次调用Mocha,则会抛出错误。这对于捕获意外的双重回调非常方便。 it('double done', function(done) { // Calling `done()` twice is an error setImmediate(done); setImmediate(done); }); 运行上面的测试将给出以下错误消息: $ ./nod

  • 我在调用我的onLeScan时遇到问题。我在开始扫描中放置了一个标签,每次都会被调用。出于某种原因,我的onLeScan永远不会被调用。有人看到我所做的有问题吗?onLeScan应该在开始扫描后立即调用,对吗? 编辑更改了我的onLeScan函数。仍然不起作用,但我认为我正在走向正确的道路。DeviceBeacon是一个只包含方法的类:getName()、getSignal()和getAddres

  • 1、接口声明 如果您希望在自己的CRM系统嵌入呼叫中心能力,需要对接智齿呼叫中心能力,在对接前请您阅读如下对接流程,以便您更好的完成对接。如果只对接基本呼叫能力,预计对接及调试过程1周左右即可完成。 第一步:获取第三方用户接口调用唯一凭证 请联系您的售后经理,获取您企业的如下信息: 1、companyid(企业id) 2、appid(第三方用户接口调用唯一凭证id) 3、app_key(第三方用户

  • 我是RXJava的新手。在一个场景中,我希望调用第一个登录webservice(),如果成功,则希望调用另一个webservice()以获取用户信息。