えびしブログ

〜サーバーは魔法で動いているわけではない〜

Twitterで相互フォローしているかを表示するGreasemonkeyを作りたかった…!


↑こんな感じで、TLのユーザーと相互フォロー状態だったら名前のうしろに「*」をつけるということをしたかったのですが、
TwitterAPIを叩くと

jsonp ~ is not defined

というエラーが出て取得できませんでした…。

ソース
// ==UserScript==
// @name          is follow each other
// @namespace     eibiisii
// @include        http://twitter.com/*
// @include        https://twitter.com/*
// @exclude        http://twitter.com/invitations/*
// @exclude        http://twitter.com/settings/*
// @exclude        http://twitter.com/goodies/*
// @exclude        https://twitter.com/invitations/*
// @exclude        https://twitter.com/settings/*
// @exclude        https://twitter.com/goodies/*
// @require        http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js
// ==/UserScript==
(function(){
	var my_name = $("span#me_name").text();
	$(".status-content>strong").each(function(){
		var your_name = $(this).text();
		console.log(my_name);
		console.log(your_name);
		var apiurl = "http://api.twitter.com/1/friendships/exists.json?user_a="+my_name+"&user_b="+your_name+"&callback=?";
		console.log(apiurl);
		$.getJSON(apiurl,function(data){
			$.each(data,function(i,item){
				console.log(item.friends);
				if(item.friends=="true"){
				$(this).after("*");
				}
			});
		});
	});
})();
考えられる原因
  • API制限に引っ掛かっている
  • $.getJSONの使い方が間違っている

むむむ…。