如何通过RStudio Connect API获取与user guid关联的实际用户名
问题解答
关于user_guid的性质
- user_guid不是永久加密无法解密的标识,它是RStudio Connect为每个平台注册用户分配的全局唯一身份ID,平台本身存储了guid和用户信息的对应关系,你用有权限的API Key即可拉取映射关系。
- 数据中的NA值对应未登录的匿名访问用户,本身没有关联的注册用户信息,无法匹配到用户名。
具体匹配步骤
你可以直接用connectapi包内置的用户查询接口拉取全量用户映射表,再和已有的Shiny使用数据关联即可,示例代码如下:
# 1. 拉取全量用户信息,提取guid和用户名/邮箱的映射 user_mapping <- get_users(client, limit = Inf) %>% select(user_guid = guid, username, email, first_name, last_name) # 2. 关联到Shiny使用数据表 shiny_rsc_with_user <- shiny_rsc %>% left_join(user_mapping, by = "user_guid")
运行上述代码后,shiny_rsc_with_user中就会新增username/email等用户标识字段,完成匹配。
注意:你使用的API Key需要有用户信息查看权限,管理员账号生成的API Key默认有该权限,普通用户可能需要管理员额外授权。
内容的提问来源于stack exchange,提问作者NewInPython
相关产品推荐
相关产品推荐

