0

わかりました、これは私にとって少しトリッキーになりました。それを処理するには、本当に助けが必要です。

問題

データのリスト (この場合は Twitter ユーザー名) を含む GSpreadsheet があります。サービス プロバイダーの API (この場合は Klout API) を使用して、そのユーザーに関する情報を取得し、スプレッドシート内のセルに入力したいと考えています。

これまでに解決できたことに基づいて、これを行うにはカスタム関数を作成する必要がありますが、どこから始めればよいのか、どのように構築するのか、またはこれを行う例があるかどうかはわかりません.

シナリオ

Klout API は、渡された文字列に基づいて、XML または JSON 応答 ( http://developer.klout.com/docs/read/api/APIを参照) を返すことができます。たとえば、次の URL です。

http://api.klout.com/1/users/show.xml?key=SECRET&users=thewinchesterau

次の XML 応答が返されます。

<ユーザー>
    <ユーザー>
        <twitter_id>17439480</twitter_id>
        <twitter_screen_name>ウィンチェステラウ</twitter_screen_name>
        <スコア>
            <kscore>56.63</kscore>
            <勾配>0</勾配>
            <description>ネットワーク全体に広がるコンテンツを作成し、議論を促進します。</description>
            <kclass_id>10</kclass_id>
            <kclass>社交家</kclass>
            <kclass_description>あなたは社交シーンのハブであり、人々は何が起こっているのかを知るためにあなたを頼りにしています. あなたはすぐに人とつながり、社会的な知識をすぐに共有できます。あなたのフォロワーは、あなたのネットワークと寛大さに感謝しています。</kclass_description>
            <kscore_description>ウィンチェスターラウの影響力は低いです。</kscore_description>
            <network_score>58.06</network_score>
            <amplification_score>29.16</amplification_score>
            <true_reach>90</true_reach>
            <delta_1day>0.3</delta_1day>
            <delta_5day>0.5</delta_5day>
        </スコア>
    </ユーザー>
</ユーザー>

この応答に基づいて、XML (またはより簡単な場合は JSON) パケット内で返された値をさまざまなセルに入力できるようにしたいと考えています。

したがって、たとえば、次のようなスプレッドシートがあり、カスタム関数を使用して、関連する XML 要素応答の値を取得してセルに入力します。

セル ABCDE
1 ユーザー名 kscore ネットワーク スコア 増幅スコア 真のリーチ
2 thewinchester =kscore(A2) =nscore(A2) =ascore(A2) =tscore(A2)

質問

  1. API を使用して外部ソースからデータを取得する gSpreadsheet の例はありますか?
  2. API から結果を取得し、特定の要素の結果をセルに入力するカスタム関数を作成するにはどうすればよいでしょうか?

あなたが持っている情報、例、またはヘルパーは大歓迎です。

4

2 に答える 2

1

ここimportXMLに記載されている機能が必要です。必要な式は次のようになります。

=importXML("http://api.klout.com/1/users/show.xml?key=SECRET&users=" + A1, "//users/user/score/kscore")
于 2011-04-18T05:06:08.197 に答える
0

Google AppScript を使用してカスタム スクリプトを作成することもできますが、Nick Johnson が投稿したものと同様の簡単な解決策があります。スコア関数に対してこれをテストしましたが、異なる XPath を使用してショー エンドポイントに簡単に適応させることができます。

=importXML("http://api.klout.com/1/klout.xml?users="&A1&"&key=YOUR_API_KEY", "//users/user/kscore")

これは、Twitter ID が A 列にあることを前提としています。

Google ドキュメントでは、そのような importXML 関数の数がスプレッドシートごとに 50 に制限されていることに注意してください。importXML 呼び出しごとに 5 つのユーザー ID のグループを連結して、シートあたり 250 に制限することができます。

これは、その制限がない Excel での同様の呼び出しにも適用できます。ただし、適切な属性とレート制限を使用して、Klout ToS に注意してください。

于 2011-08-11T21:06:29.083 に答える