1

JavaScript で JSON ファイルを返すために Web API を使用しようとしています。Alchemy API を使用すると、呼び出しは次の URL になります。

http://access.alchemyapi.com/calls/url/URLGetTextSentiment?url=http%3A%2F%2Fwww.macrumors.com%2F2013%2F11%2F05%2Fapple-releases-itunes-11-1-3-with-equalizer-and-performance-improvements%2F&apikey=[secret]&outputMode=json

これにより、macrumors 記事でセンチメント分析が実行されます。ただし、JSON ファイルを実際に JavaScript に変換する方法がわかりません。誰も方法を知っていますか?

4

3 に答える 3

1

アクセスしている URL は JSON を返すように見えるため、ajaxgetリクエストを使用します

jQuery.get ()を使用:

var Url = 'http://access.alchemyapi.com/calls/url/URLGetTextSentiment?url=http%3A%2F%2Fwww.macrumors.com%2F2013%2F11%2F05%2Fapple-releases-itunes-11-1-3-with-equalizer-and-performance-improvements%2F&apikey=[secret]&outputMode=json'


$.get(
  Url,
  function(data, status, xhr){
    alert(data);
  }
);
于 2013-11-06T02:17:57.967 に答える
1

ブラウザはセキュリティ上の理由からこれをブロックするため、クライアント側で他のドメインへの AJAX 呼び出しを使用することはできません。クロスドメイン呼び出しを行う必要がある場合は、JSONP を使用する必要があります。あなたのコードの実際の例(sans jQuery!)のペーストビンは次のとおりです:http://pastebin.com/8vN8LqWW

そのため、クライアント側でこれをすべて処理することは可能ですが、お勧めしません。テスト用または個人的なプロジェクト用であれば問題ありませんが、実際にこれを公開 Web に公開すると、秘密の API キーが公開されてしまいます。サーバー側で API 呼び出しを行う方がはるかに優れています。つまり、Node.js、Python、Ruby などを使用します。AlchemyAPI には、開始に役立ついくつかのSDKがあります。

ところで、開示のために、私はAlchemyAPIで働いています。

于 2013-11-06T17:50:59.253 に答える
1

Steve によって共有されたペーストビンが表示されず、jQuery で次のように記述しました (jQuery について言及されていないことは知っていますが、これは jQuery を使用しない JS に簡単に適用できると思います)。

$.ajax({
  url: 'https://access.alchemyapi.com/calls/text/TextGetTextSentiment',
  dataType: 'jsonp',
  jsonp: 'jsonp',
  type: "post",
  data: { apikey: 'APIKEYHERE', text: streamText, outputMode: 'json' },
  success: function(res){
    if (res["status"] === "OK") {
      //Do something good
    }
    else if (res["status"] === "ERROR") {
      //Do something bad
    }
  },
  error: function(jqxhr) {
    //console.log(jqxhr);
  }
});

これがそれを探している人々に役立つことを願っています:)!ここにも要旨を作成しました: https://gist.github.com/Wysie/32b2f7276e4bd6acb66a

于 2014-05-23T02:38:34.507 に答える