首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“您必须提供哈希。”使用API下载数据时出错(在R中)

“您必须提供哈希。”使用API下载数据时出错(在R中)
EN

Stack Overflow用户
提问于 2015-02-26 21:17:45
回答 3查看 11.6K关注 0票数 13

我想通过API代码从MARVEL DEVELOPER中提取数据并对其进行分析(使用R)。

我从漫威网站上得到了以下网址:http://gateway.marvel.com:80/v1/public/characters?apikey=f389fcb49ad574e10ca570867f4bfa43

我使用httr包来收集数据:

代码语言:javascript
复制
install.packages("httr")
library(httr)
> url <- GET("http://gateway.marvel.com:80/v1/public/characters?orderBy=name&limit=100&apikey=f389fcb49ad574e10ca570867f4bfa43")
> content(url)
$code
[1] "MissingParameter"

$message
[1] "You must provide a hash."

我想将所有这些数据提取到R。我应该做什么/读什么?

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2015-02-26 21:27:57

您必须提供ts (时间戳)和散列参数。哈希值(根据documentation) = md5(ts+privateKey+publicKey)

您可以通过以下方式计算md5:

代码语言:javascript
复制
library(digest)
hash <- digest(paste0(ts, privateKey, publicKey), algo="md5")

除了apikey参数之外,服务器端应用程序还必须传递两个参数:

ts -时间戳(或其他可以逐个请求更改的长字符串)

散列- ts参数、私钥和公钥的md5摘要

密钥(例如md5(ts+privateKey+publicKey) )例如,具有公钥"1234“和私钥"abcd”的用户可以构造有效调用,如下所示:

http://gateway.marvel.com/v1/public/comics?ts=1&apikey=1234&hash=ffd275c5130566a2916217b101f26150 (哈希值为1abcd1234的md5摘要)

票数 12
EN

Stack Overflow用户

发布于 2019-03-23 20:06:13

您需要具有以下组合:ts+ your private key+ your public key

请查看来自MARVEL的以下示例:

例如,具有公钥"1234"私钥"abcd"的用户可以构造如下有效调用:http://gateway.marvel.com/v1/public/comicsts=1&apikey=1234&hash=ffd275c5130566a2916217b101f26150 (散列值是1abcd1234的md5摘要)

ts -1 私钥-key公钥- 1234

票数 5
EN

Stack Overflow用户

发布于 2018-07-29 18:14:59

其他答案中描述的散列仅在您使用私钥时才会出现。

公钥可以按照您尝试的方式使用,方法是添加一个引用:

代码语言:javascript
复制
curl --referer localhost http://gateway.marvel.com:80/v1/public/characters?apikey=f389fcb49ad574e10ca570867f4bfa43

我不知道R,所以curl请求就行了。

在你的开发者账户中,你可以列出允许的推荐人。我有localhost,但是你的可以是任何东西...

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28743530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档