Facebook SDK C#

Facebook SDK C# 5.4.1を使ってみた。

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
      {
        //おされてない
      }
    }
}

例外チェック等はあまあまだけど、とりあえず。