首页 > 其他分享 >使用HttpClient获取Graph API Token

使用HttpClient获取Graph API Token

时间:2024-11-25 21:49:03浏览次数:5  
标签:Console string Graph token Token API new HttpClient

  前言

  最近,在使用Graph API,然后,用HttpClient调用。可能,很多人讲不是有Net版本的API么,为什么要用Http去请求?对于这个,我只想说,好玩而已。

  正文

  下面是核心的代码,使用HttpClient发送请求token

public async static Task<string> GetGraphToken(string body, string talentid)
{
    using (HttpClient httpClient = new HttpClient())
    {
        var content = new StringContent(body);
        try
        {
            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, $"https://login.microsoftonline.com/{talentid}/oauth2/v2.0/token");
            request.Content = content;
            request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
            HttpResponseMessage response = await httpClient.SendAsync(request);
            if (response.IsSuccessStatusCode)
            {
                string responseBody = await response.Content.ReadAsStringAsync();
                GraphToken token = JsonConvert.DeserializeObject<GraphToken>(responseBody);
                Console.WriteLine("Response: " + token.access_token);
                return token.access_token;
            }
            else
            {
                Console.WriteLine("Error: " + response.StatusCode);
                return string.Empty;
            }
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message.ToString());
            Console.WriteLine(e.StackTrace.ToString());
            return string.Empty;
        }
    }
}

  调用:

string talentid = "12345678-cbbc-42b5-9576-56cac3b3be72";
string clientid = "b99fe2a4-028e-469a-9a6a-d60c956f34ac";
string secret = "_C11S~asf23FDA23JIJLIMNLJI-3HQ4Koogav_";

string body = $"grant_type=client_credentials&client_id={clientid}&client_secret={secret}&scope=https://graph.microsoft.com/.default";

string token = GetGraphToken(body, talentid).Result;

  这里是拿到token,后面再请求使用token,然后发送对应的请求就好啦,灰常的简单。

标签:Console,string,Graph,token,Token,API,new,HttpClient
From: https://www.cnblogs.com/jianyus/p/18567408

相关文章

  • 解读Graph+AI白皮书:LLM浪潮下,Graph尚有何为?
    历时半年,由蚂蚁集团和之江实验室牵头,联合北京邮电大学、浙江大学、西湖大学、东北大学、杭州悦数科技、浙江创邻科技、北京大学、北京交通大学、复旦大学、北京海致星图科技、腾讯、信雅达科技、北京枫清科技等单位编写的《Graph+AI:大模型浪潮下的图计算》白皮书,在11月2日全国智......
  • 第4天:基础入门-Web应用&蜜罐系统&堡垒机运维&API内外接口&第三方拓展结构&部署影响
    #知识点:1、基础入门-Web应用-蜜罐系统2、基础入门-Web应用-堡垒机运维3、基础入门-Web应用-内外API接口4、基础入门-Web应用-第三方拓展架构一、蜜罐:https://hfish.net/测试系统:Ubuntu20.04一键安装:bash<(curl-sS-Lhttps://hfish.net/webinstall.sh)1、有......
  • 【Azure 环境】从Azure AD(Entra ID)中获取的Token在访问自定义的接口应用时验证不通
    问题描述集成AzureAD(新名称MicrosoftEntraID),拿到对应的accessToken作为登录用的凭证。这个 AccessToken 能够正常返回,并作为Microsoft Graph userinfoAPI的Authorization,因为应用中会对前端传递过来的 AccessToken进行校验合法性。但目前遇见的问题时这个 Token 签......
  • cryptography与zlib系列:数据压缩与加密
    cryptography与zlib系列:数据压缩与加密这里采用对称加密方法进行加密,首先创建一个Fernet加密器,这里的key,通过密钥派生函数与设定的密码进行创建,具有更强的保密功能。创建Fernet加密器函数importosfrombase64importurlsafe_b64encodefromcryptography.fernetimpor......
  • Rapid in silico directed evolution by a protein language model with EVOLVEpro 文
    文章背景蛋白质是生命活动的基石,其功能和序列之间的复杂关系长期以来吸引着科学家们的关注。尽管深度突变扫描等实验方法可以解析蛋白质突变的功能影响,但这些技术的应用范围局限于序列空间的一小部分。近年来,基于蛋白质语言模型(PLM)的计算方法如ESM2模型取得了一些突破。然而,这些......
  • Android 使用MediaCodec Api 进行视频的编解码
    从视频编解码实现的过程涉及使用 MediaCodec API进行视频的编码和解码。以下是一个详细的步骤指南,有助于我们理解如何实现视频编解码,不足之处望谅解。1.环境准备确保你的Android项目中已经添加了必要的权限和依赖项。在 AndroidManifest.xml 中添加以下权限:<uses-pe......
  • 用python、JAVA等多种语言的实例代码演示教你如何免费获取股票数据(实时数据、历史数据
    ​近一两年来,股票量化分析逐渐受到广泛关注。而作为这一领域的初学者,首先需要面对的挑战就是如何获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息,这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的核心任务是从这些数据......
  • FreeRTOS LIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 存在的意义以及高于它的中断不能调
    ThisishowIunderstandit.我是这样理解的。Ifwenowhave2tasksand6interrupts,amongwhich,andwheninterrupts4,5,6arerunning,theywillcallthesafefreertosapi.假如我们现在有2个任务以及6个中断,其中,中断4、5、6运行的时候将会调用safefreert......
  • 日常API之图灵聊天机器人
    机器人是什么?可以吃吗?  嗯,他可以和你聊天,不能吃哦。首先需要到www.tuling123.com注册一只KEY,你才能调用机器人API哦 一、布局(控制台程序可以跳过这一步)本文以WPF为示例来讲解。首先我们需要一只聊天界面,大概需要这些组件:“发送”Button一只 TextBox一条  Scrol......
  • 计算机基础---Cookie、Session、Token的区别
    CookieCookie是一种存储在用户浏览器中的小型文本文件,用于保存用户信息和偏好。主要用于记住用户的登录状态、购物车内容、用户偏好等。以加入购物车为例,每次浏览器请求后server都会将本次商品id存储在Cookie中返回给客户端,客户端会将Cookie保存在本地,下一次再将......