public async Task DoAccessTokenRequest() { var response = await AccessTokenRequest.RequestAccessToken( Server, AppRegistrationResponse.Id, AppRegistrationResponse.MacKeyId, AppRegistrationResponse.MacKey, new AccessTokenRequestModel(OAuthCode)); AccessTokenResponse = response.OriginalResponse; AccessToken = response; }
protected override async Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { // See if the request has an authorize header var auth = request.Headers.Authorization; if (auth != null) { if (_accessTokenModel == null || _accessTokenModel.ttl.Minutes <= 2) { _accessTokenModel = await _getAccessToken().ConfigureAwait(false); } request.Headers.Authorization = new AuthenticationHeaderValue(auth.Scheme, _accessTokenModel.access_token); } return(await base.SendAsync(request, cancellationToken).ConfigureAwait(false)); }
public async Task <Object> SendVote(string Url, int Id) { try { using (DDContext context = new DDContext()) { Vote vote = context.Vote.Find(Id); string title = vote.Title; string ApplyMan = vote.ApplyMan; DingTalkManager dtManager = new DingTalkManager(); var AccessToken = await dtManager.GetAccessToken(); AccessTokenResponseModel accessTokenResponseModel = JsonConvert.DeserializeObject <AccessTokenResponseModel>(AccessToken); IDingTalkClient client = new DefaultDingTalkClient("https://eco.taobao.com/router/rest"); CorpMessageCorpconversationAsyncsendRequest req = new CorpMessageCorpconversationAsyncsendRequest(); req.Msgtype = "oa"; req.AgentId = long.Parse(DTConfig.AgentId); req.DeptIdList = "1"; req.ToAllUser = true; req.Msgcontent = "{\"message_url\": \"http://dingtalk.com\",\"head\": {\"bgcolor\": \"FFBBBBBB\",\"text\": \"投票通知\"},\"body\": {\"title\": \"正文标题\",\"form\": [],\"content\": \"11111111111\",\"author\": \"李四 \"}}"; CorpMessageCorpconversationAsyncsendResponse rsp = client.Execute(req, accessTokenResponseModel.access_token); Console.WriteLine(rsp.Body); } return(new ErrorModel() { errorCode = 0, errorMessage = "成功" }); } catch (Exception ex) { return(new ErrorModel() { errorCode = 1, errorMessage = ex.Message }); } }