0

我有这个 API:

https://api.tynt.com/publisher/v1/keyword/inbound?site_guid=c4l6yC_Ler4kAMacwqm_6r&api_key=secretkey&hours=1

我将如何从这个 api 中提取我的入站关键字并返回它的关键字值以使用 JavaScript 显示它?

4

1 回答 1

0

Tynt API似乎还不支持 CORS(跨域资源共享),没有实现“ Access-Control-Allow-Origin:* ”响应头。因此,您应该尝试使用与 CORS 兼容的 Yahoo (YQL) 等代理服务来读取此 API。

假设我们有一个全局函数:readKeywords(),它是从 jQuery getJSON 调用中调用的:

// remember to complete it with your secretkey!
var api_url = "http://api.tynt.com/publisher/v1/keyword/inbound?site_guid=c4l6yC_Ler4kAMacwqm_6r&api_key=secretkey&hours=24";

function readKeywords ( data) {
    var keywords = data.query.results.data; // keywords array
    var items = [];

    $.each(keywords, function(index, value) {
        items.push('<li>' + value.json[0] + ': ' + value.json[1] + '</li>');
    });

    $('<ul/>', {
        html: items.join('')
    }).appendTo('body');
}

$.getJSON("http://query.yahooapis.com/v1/public/yql?format=json&q=select * from json where url='" + encodeURIComponent( api_url ) + "' and itemPath='json.data'", readKeywords);

此示例从 Yahoo 的 json 中读取 Tynt 的 json 响应,并将其作为列表写入 document.body,其中 value.json[0] 和 value.json[1] 是每个入站关键字的入站文本和计数器。

于 2012-06-14T11:36:29.760 回答