使用R调用SSRN API遇HTTP 403错误,咨询是否需权限及获取方法
SSRN API访问出现403 Forbidden问题解决说明
之前每周通过R从SSRN API拉取数据,现在运行以下代码时触发403错误:
temp <- str_c("https://api.ssrn.com/content/v1/journals/1155179/papers?index=0&count=200&sort=0") %>% request() %>% req_perform() %>% resp_body_json(simplifyVector = TRUE) %>% pluck("papers") %>% as_tibble()
错误信息如下:
Error in `req_perform()`: ! HTTP 403 Forbidden. Backtrace: 1. ... %>% as_tibble() 8. httr2::req_perform(.)
权限说明
现在访问SSRN API确实需要权限认证,此前无需授权的公开访问方式已被限制。
获取权限及代码调整步骤
- 注册SSRN开发者账号:在SSRN开发者平台完成注册,需提供身份信息及API使用用途说明。
- 创建API应用:注册后在开发者控制台创建新应用,获取专属的API密钥。
- 在请求中添加认证信息:修改R代码,在
request()之后添加认证头,示例如下:
library(httr2) library(stringr) library(tibble) library(purrr) # 替换为你的实际API密钥 api_key <- "YOUR_API_KEY" temp <- str_c("https://api.ssrn.com/content/v1/journals/1155179/papers?index=0&count=200&sort=0") %>% request() %>% req_headers(Authorization = paste("Bearer", api_key)) %>% # 新增认证头 req_perform() %>% resp_body_json(simplifyVector = TRUE) %>% pluck("papers") %>% as_tibble()
内容的提问来源于stack exchange,提问作者Jochen
相关产品推荐
相关产品推荐

