来自LinkedIn和StumbleUpon的JSONP请求



我试图建立一个应用程序,从不同的社交网络,如Facebook, LinkedIn, Twitter, StumbleUpon, Digg和Delicious获取URL信息。

我请求信息与REST,主要是得到JSON格式的响应。然后用javascript (jQuery)解析

我没有问题连接到Facebook, Twitter和Delicious与jquery $。getJSON方法使用JSONP数据类型(添加回调=?到url),但问题是LinkedIn和StumbleUpon。

当我使用相同的技术,我得到错误。

For StumbleUpon

"invalid label"
{"result":{"url":"http://www.google.com/","in_index":true,"publicid":"2pI1xR","views":201756,"title":"Google","thumbnail":"http://cdn.stumble-upon.com/mthumb/31/10031.jpg","thumbnail_b":"http://cdn.stumble-upon.com/bthumb/31/10031.jpg","submit_link":"http://www.stumbleupon.com/submit?url=http://www.google.com/","badge_link":"http://www.stumbleupon.com/badge?url=http://www.google.com/","info_link":"http://www.stumbleupon.com/url/www.google.com/"},"timestamp":1323182766,"success":true}

显然它不能没有JSONP请求类型,因为它的跨域请求。我做了一些研究,发现问题可能是jQuery发送JSONP请求,但得到一个JSON响应,然后出错。如果这是真的,我不知道我应该做些什么来弥补。我用JSONLint做了一个响应测试,得到了有效的结果。所以问题似乎是我解析它的方式,而不是在响应本身。

For LinkedIn i get next

"missing ) after argument list" 
IN.Tags.Share.handleCount({"count":18118,"url":"http://www.google.com/"}

显然是无效的JSON和jQuery错误。有没有别的方法可以得到这些数据?

所以我有点卡在这里,因为我看到的结果,但我不能让他们解析。

PS我不希望使用服务器端代码。

下面是我使用的代码:
var url = 'http://www.google.com';
// StumbleUpon
$.getJSON("http://www.stumbleupon.com/services/1.01/badge.getinfo?url=" + url +"&callback=?", function (data) {                    
   console.log(data);                    
});
$.getJSON("http://www.linkedin.com/cws/share-count?url=" + url +"&callback=?", function (data) {
   console.log(data);
});

我知道这是一个老问题,但我正在做类似的事情,虽然不使用jQuery。我已经让LinkedIn使用不同的URL工作:

https://www.linkedin.com/countserv/count/share?url={url}&format=jsonp

在这个实例中,我的关键是使用jsonp值作为格式。json不起作用。您还需要包含回调函数。

至于StumbleUpon,我也有错误,但如果我找到解决方案,我会更新这个答案。

相关内容

  • 没有找到相关文章

最新更新