开发者社区> 问答> 正文

扫码登录 如何获得 免登得到的 userid 用于发送消息

同一个网站,想要既能作为 钉钉企业 app 在 app内使用,又能作为独立网站,用钉钉扫码登陆。


[font="]企业 app 免登
open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.tkFMW1&treeId=385&articleId=104877&docType=1
获得的 用户信息为
{
"deviceId":"abc233abc",
"is_sys":true,
"sys_level":2,
"userid":"12345678"
}
其中 userid 可用于 openapi 发送企业消息





扫码登陆,根据此页面
open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.tkFMW1&treeId=385&articleId=104968&docType=1
[font="]第三方web服务 使用扫码登陆后 获得 用户信息 为
[font="] {
"corp_info":null,
"user_info":{
"dingId":"$:XYXW_v1:$abcdEFcxxWWSA==",
"nick":"路人甲",
"openid":"ABCD7ds90dfsd",
"unionid":"KHGO87kkdllfds"
}}
其中 corp_info 不存在。如何得到免登的那个 userid ?

展开
收起
viruscamp 2017-06-07 16:49:52 5667 0
2 条回答
写回答
取消 提交回答
  • Re扫码登录 如何获得 免登得到的 userid 用于发送消息
    感谢楼主,钉钉文档确实坑了点,导致我在获取userId的时候,卡了一天,楼主结果写的非常详细,还把注意事项写明,好人~~~
    2017-08-03 15:47:09
    赞同 展开评论 打赏
  • Re扫码登录 如何获得 免登得到的 userid 用于发送消息
    这破论坛根本就没人管啊。 什么事都要用户自己猜。

    自己好不容易搞出来了

    看这的文档
    open-doc.dingtalk.com/docs/doc.htm?treeId=172&articleId=104979&docType=1

    企业 app 免登 后 获取成员详情
    oapi.dingtalk.com/user/get?access_token=ACCESS_TOKEN&userid=12345678
    里面有 unionid 和 dingtalkId
    注意 对应的 java api CorpUserDetail CorpUserService.getCorpUser(access_token, userid) 少几个域,比如少了 unionid

    第三方 扫码登陆 后 根据unionid获取成员的userid
    oapi.dingtalk.com/user/getUseridByUnionid?access_token=ACCESS_TOKEN&unionid=KHGO87kkdllfds
    注意
      1  accessToken 不是用 appid 换的 , 而是来自 oapi.dingtalk.com/gettoken?corpid=id&corpsecret=secrect
          对应 java-api CorpConnectionService.getCorpToken(corpId, corpSecret)
      2  没有对应的 java api 自己实现的话 大概这样
    @OpenAPI(
            httpMethod = OpenAPI.HttpMethod.GET,
            uriPath = "/user/getUseridByUnionid",
            resultJsonKey = "userid"
        )
        String getUseridByUnionid(@ParamAttr(location = ParamAttr.Location.URL,paramKey = "access_token") String accessToken,
                                  @ParamAttr(location = ParamAttr.Location.URL,paramKey = "unionid") String unionid)
            throws ServiceException;



    2017-07-04 10:02:59
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载