feat(work): 新增通过邮箱获取 UserId 接口

This commit is contained in:
Fu Diwei
2025-10-13 20:39:12 +08:00
parent 8b764f549c
commit 49f6172f61
5 changed files with 63 additions and 0 deletions

View File

@@ -290,6 +290,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinUserGetUserIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/user/get_userid_by_email 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/95895 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinUserGetUserIdByEmailResponse> ExecuteCgibinUserGetUserIdByEmailAsync(this WechatWorkClient client, Models.CgibinUserGetUserIdByEmailRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateFlurlRequest(request, HttpMethod.Post, "cgi-bin", "user", "get_userid_by_email")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinUserGetUserIdByEmailResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/user/get_active_stat 接口。</para>
/// <para>

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/user/get_userid_by_email 接口的请求。</para>
/// </summary>
public class CgibinUserGetUserIdByEmailRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置邮箱类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("email_type")]
[System.Text.Json.Serialization.JsonPropertyName("email_type")]
public int? EmailType { get; set; }
/// <summary>
/// 获取或设置邮箱。
/// </summary>
[Newtonsoft.Json.JsonProperty("email")]
[System.Text.Json.Serialization.JsonPropertyName("email")]
public string Email { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/user/get_userid_by_email 接口的响应。</para>
/// </summary>
public class CgibinUserGetUserIdByEmailResponse : CgibinUserGetUserIdResponse
{
}
}

View File

@@ -0,0 +1,4 @@
{
"email": "12345@qq.com",
"email_type": 1
}

View File

@@ -0,0 +1,5 @@
{
"errcode": 0,
"errmsg": "ok",
"userid": "zhangsan"
}