プロが教えるわが家の防犯対策術!

GASのスクリプトにて表題apiを使って
slubで情報とる関数をつくりたくて


下記関数(これは動作する)を
***********************************
function crypto(ticker) {

var url = "https://pro-api.coinmarketcap.com/v1/cryptocurre … + ticker;
var requestOptions = {
method: 'GET',
uri: 'https://pro-api.coinmarketcap.com/v1/cryptocurre …
qs: {
start: 1,
limit: 5000,
convert: 'USD'
},
headers: {
'X-CMC_PRO_API_KEY': 'mykey'
},
json: true,
gzip: true
};
var result = UrlFetchApp.fetch(url, requestOptions);

var txt = result.getContentText(); // JSON as a text
var jsonData = JSON.parse(txt);
var path = "jsonData.data." + ticker + ".quote.USD.price"; // path to the current price
var price = eval(path);

return price;

}
***********************************
以下に書き換えたのですがエラーになります。
slugで取るにはどうしたらよいでしょうか。
よろしくおねがいします。

***********************************
function cryptoslug(ticker) {

var url = "https://pro-api.coinmarketcap.com/v1/cryptocurre … + ticker;
var requestOptions = {
method: 'GET',
uri: 'https://pro-api.coinmarketcap.com/v1/cryptocurre …
qs: {
start: 1,
limit: 5000,
convert: 'USD'
},
headers: {
'X-CMC_PRO_API_KEY': 'mykey'
},
json: true,
gzip: true
};
var result = UrlFetchApp.fetch(url, requestOptions);

var txt = result.getContentText(); // JSON as a text
var jsonData = JSON.parse(txt);
var path = "jsonData.data." + ticker + ".quote.USD.price"; // path to the current price
var price = eval(path);

return price;

}

質問者からの補足コメント

  • つらい・・・

    slugでもidでもcurlコマンドは通るのにスプレッドシートだとエラーになる。。誰かお助けを~

      補足日時:2022/05/30 23:19

A 回答 (1件)

こんにちは



GASもご提示のAPIもどちらも存じませんせんけれど・・・

ドキュメントを見てみると、「Listings Latest」の項にはパラメータとしてslugは無いようです。
https://coinmarketcap.com/api/documentation/v1/

とは言え、nameで代用可能ではないかとも推測しますけれど・・・
(よくわかっていないので、的外れかも知れませんが)
「name: The cryptocurrency name.」との記述がありますので・・

一方で、「Quotes Latest」(またはQuotes Latest v2)の項を見ると、パラメータにslugがありますので、こちらなら使用できるのではないでしょうか。
ただし、API planによるようなことが書いてあります。
This endpoint is available on the following
 ・Standard
 ・Professional
 ・Enterprise

V1では
「slug:Alternatively, pass a comma-separated list of exchange "slugs" (URL friendly all lowercase shorthand version of name with spaces replaced with hyphens). Example: "binance,gdax". At least one "id" or "slug" is required.」
となっており、V2では、
「slug:Alternatively pass a comma-separated list of cryptocurrency slugs. Example: "bitcoin,ethereum"」
とありますので、symbolのような記号ではなく、小文字での名称指定が必要と思われます。


※ 以上、テストもしていませんし検索してみただけですが、ご参考にでもなればと。
    • good
    • 0
この回答へのお礼

ありがとう

大変ありがとうございます!とても参考になります!いろいろためしてみます。

お礼日時:2022/05/30 18:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!