0

Zapier で Java Script コード アクションを作成して、特定の Twitter ユーザー名の Klout スコアを取得しようとしています...

これは2段階で行う必要があることに気付きました:

1) まず、任意の Twitter screen_name の Klout ID を取得します。

http://api.klout.com/v2/identity.json/twitter?screenName="+screen_name+"&key="+klout_apikey"

Klout はそれに対して JSON で応答します。

{"id":"85568398087870011","network":"ks"}

2) 次に、その Klout ID の Klout スコアを取得します。

http://api.klout.com/v2/user.json/"+klout.id+"/score?key="+klout_apikey"

Klout は JSON でこれに返信します。

{"score":65.68382904221806,"scoreDelta":{"dayChange":-0.03663891859041257,"weekChange":-0.5495711661078815,"monthChange":-1.4045672671990417},"bucket":"60-69"}

もちろん、必要なのは JSON 応答配列の"score":65.68382904221806オブジェクトです。

@KayCee によって提案された次の JS 関数を使用します。

 var klout_apikey = '<my klout api key>';

 fetch("http://api.klout.com/v2/identity.json/twitter?screenName="+screen_name+"&key="+klout_apikey")
   .then(function(res) {
    return res.json();
  })
  .then(function(klout) {
    console.log(klout);
    if(klout.id) {
        return fetch("http://api.klout.com/v2/user.json/"+klout.id+"/score?key="+klout_apikey")
    }
  }).then(function(res) {
    return res.json();
  }).then(function(body) {
    // console.log(body.score);
    //Here is where you are telling Zapier what you want to output.
    callback(null, body.score)
  }).catch(callback); //Required by Zapier for all asynchronous functions.

Zapier コード アクションの「入力データ」セクションで、screen_name を変数として渡します

screen_name: [the twitter handle]

返されるのは、次のエラー メッセージです。

SyntaxError: Invalid or unexpected token
4

1 に答える 1