R语言rAltmetric包调用返回HTTP 401未授权错误问题咨询
问题根因
你碰到的报错不是本地R环境故障、包安装损坏或者测试用的DOI/ISBN无效导致的。Altmetric官方已经停用了原先无需密钥的公开API访问通道,现在所有对Altmetric数据接口的请求都必须携带有效的专属API密钥,无密钥请求会直接返回HTTP 401未授权状态,以及纯文本格式的密钥无效提示。rAltmetric包默认按照JSON格式解析接口返回内容,碰到纯文本错误提示就会触发你看到的JSON词法解析错误,和你测试时看到的报错文本完全吻合。
同类问题反馈情况
- 从2024年第二季度开始,已经有大量rAltmetric用户反馈完全一致的报错,所有未配置有效API密钥的调用都会稳定复现问题,不管是安装CRAN版本还是GitHub开发版本的包都无法解决。
- 你今年5月能正常使用,是当时公开无密钥接口还未被完全关停,目前该公开访问入口已经全部关闭,和你本地的代码写法没有关系。
可用解决方法
- 方法1:申请并配置官方API密钥
你可以通过Altmetric官方渠道申请对应权限的API密钥,拿到密钥后在调用包功能前先将密钥配置到R环境变量中,即可正常使用原有功能,配置示例代码如下:# 将引号内内容替换为你申请到的实际API密钥 Sys.setenv(altmetric_api_key = "你的专属API密钥") library(rAltmetric) # 后续原有altmetrics相关调用可正常执行 altmetrics(doi = "10.1038/465860a") altmetrics(isbn = "978-3-319-25557-6") - 方法2:如果不方便申请Altmetric API密钥,可以换用其他对接公开无密钥学术数据源的R包,获取所需的文献替代计量相关数据。
内容的提问来源于stack exchange,提问作者MalcB
相关产品推荐
相关产品推荐

