14

MARVEL DEVELOPER から API コードでデータを抽出し、(R を使用して) 分析したいと考えています。

MARVEL Web サイトから次の URL を取得しました: http://gateway.marvel.com:80/v1/public/characters?apikey=f389fcb49ad574e10ca570867f4bfa43

httr パッケージを使用してデータを収集しました。

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 に抽出したいのですが、何をすればよいですか?

ありがとう。

4

3 に答える 3

12

ts (タイムスタンプ) とハッシュ パラメータを指定する必要があります。ハッシュは (ドキュメントによると) = md5(ts+privateKey+publicKey)

md5 は次のように計算できます。

library(digest)
hash <- digest(paste0(ts, privateKey, publicKey), algo="md5")

サーバー側アプリケーションは、apikey パラメーターに加えて、次の 2 つのパラメーターを渡す必要があります。

ts - タイムスタンプ (またはリクエストごとに変更できるその他の長い文字列)

hash - ts パラメーター、秘密鍵、公開鍵の md5 ダイジェスト

キー (例: md5(ts+privateKey+publicKey)) たとえば、「1234」の公開鍵と「abcd」の秘密鍵を持つユーザーは、次のように有効な呼び出しを作成できます。

http://gateway.marvel.com/v1/public/comics?ts=1&apikey=1234&hash=ffd275c5130566a2916217b101f26150 (ハッシュ値は1abcd1234のmd5ダイジェスト)

于 2015-02-26T13:27:57.047 に答える
3

他の回答で説明されているハッシュは、秘密鍵を使用している場合のみです。

公開鍵は、リファラーを追加することで、試みている方法で使用できます。

curl --referer localhost http://gateway.marvel.com:80/v1/public/characters?apikey=f389fcb49ad574e10ca570867f4bfa43

わからないRので、curlリクエストを行う必要があります。

開発者アカウントで、許可されたリファラーを一覧表示できます。私はlocalhostを持っていますが、あなたのものは何でもかまいません...

于 2018-07-29T10:14:59.033 に答える