Facebook SDK C#
http://facebooksdk.codeplex.com/
いいね!を押したか押してないかでページ切り替えでちょっと躓いたのでメモ。
前までは
var DecodedSignedRequest = FacebookSignedRequest.Parse(FacebookContext.Current.AppSecret, SignedRequest);
だったのだけれど、FacebookContextは廃止されて
var DecodedSignedRequest = FacebookSignedRequest.Parse(FacebookApplication.Current.AppSecret, SignedRequest);
となっている。
で、いいね!を押したかどうかの全体コード。
using Facebook; using Facebook.Web;
protected void Page_Load(object sender, EventArgs e) { if (Request.Params["signed_request"] != null) { var DecodedSignedRequest = FacebookSignedRequest.Parse(FacebookApplication.Current.AppSecret, Request.Params["signed_request"]); var RawRequestData = (IDictionary<string, object>)DecodedSignedRequest.Data; JsonObject RawPageData = (Facebook.JsonObject)RawRequestData["page"]; if((bool)RawPageData["liked"])) { //いいね押された } else { //おされてない } } }
例外チェック等はあまあまだけど、とりあえず。