0

我在使用 Mendeley API 进行一些高级搜索时遇到了麻烦,描述了这里,使用了这里提到的请求格式。

我在下面包含了部分代码(在 R 中)(它不是完全可重现的,因为我省略了我需要运行以获取访问令牌的部分)......我感谢任何帮助......

keywords<-list(
          'citation analysis', #as indicated in the URL
          'citation + analysis',#as indicated in the URL
          'cit* analysis',
          'ponies|"small horses"',#as indicated in the URL
          'ponies +-"small horses"',#as indicated in the URL
          'ponies OR small AND horses',
          'ponies AND small AND horses',
          'small AND horses',
          'small horses'
          )

library('jsonlite')

API_Key=access_token
Year_init=2001
Year_end=2021
FieldKey='BUSI'

lapply(keywords,function(x){
          TitleKeyword_url<-URLencode(x, reserved=FALSE) 
          TitleKeyword_url<-gsub('[+]','%2B',TitleKeyword_url)   
          cat(TitleKeyword_url,'\n')
          metadata_url = paste('https://api.mendeley.com/search/catalog?query=',TitleKeyword_url,# curlEscape(TitleKeyword),
                     '&max_year=',Year_end,'&min_year=',Year_init,'&use_and=true&view=all&limit=100',sep='')
          doc_rsp <- GET(metadata_url,
                     add_headers(
                         'Authorization' = paste("Bearer", access_token),
                         'Accept' = 'application/vnd.mendeley-document.1+json'
                     )
          )
          cat('return: ',doc_rsp$headers$`mendeley-count`,'\n')
})

查看退货金额:

citation%20analysis 
return:  48051 
citation%20%2B%20analysis 
return:  48051 
cit*%20analysis 
return:  495242 
ponies%7C%22small%20horses%22 
return:  11 
ponies%20%2B-%22small%20horses%22 
return:  11 
ponies%20OR%20small%20AND%20horses 
return:  187 
ponies%20AND%20small%20AND%20horses 
return:  187 
small%20AND%20horses 
return:  6524 
small%20horses 
return:  6524 

请注意,我尝试使用未指明的运算符,例如 ' OR' 和 ' AND',以及 ' *',超出了 ' |'、' +' 和 ' -' ...关键字也已针对 URL 进行了编码(没有它不起作用) . 但是响应与预期的不匹配......看看使用' +'(编码为 %2B)没有什么区别,' |'(编码为%7C)也没有。

我怎样才能让它工作?是旧版本的文档吗(我没有找到任何关于 API 版本的提及,但是,也许有可能......)......

提前致谢,

4

0 回答 0