之前為了方便大量upload相上facebook 而寫了自己的第一個facebook apps,現在為了方便之後可能再寫facebook desktop apps時可以快一點上手(有時真係自己睇番d code 都要諗一陣先會記得點解d code 會係咁),所有就借這記下一些筆記重點,等自己將來可以快一點回憶起為何要這樣做 :)
首先, 要init 一個facebook oauthclient 的object 來
appid 需要在facebook developer apps中create 的,在這的FacebookApp是一個為了方便自己而設的一個global variables class
因為這個facebook 的login 是經由server side來處理的,所以需要用上一個webbrowser object,加上這個oauthclient object後就可以用來為自己的apps生產對應的login網址了
設定不同的loginParameters
完整的code
用以上的code就可以輕鬆地寫出一個連接上facebook 的login呢 :)
var oauthClient = new FacebookOAuthClient { AppId = FacebookApp.AppId };
appid 需要在facebook developer apps中create 的,在這的FacebookApp是一個為了方便自己而設的一個global variables class
因為這個facebook 的login 是經由server side來處理的,所以需要用上一個webbrowser object,加上這個oauthclient object後就可以用來為自己的apps生產對應的login網址了
// 為apps 生產對應的login網址 Uri loginUrl = oauthClient.GetLoginUrl(loginParameters); // 令用webbrowser object 來進行Login 的動作 this.webBrowser1.Navigate(loginUrl.AbsoluteUri);
設定不同的loginParameters
IDictionary loginParameters = new Dictionary(); // reponse_type 可以為an access token (token), an authorization code (code), or both (code token) loginParameters["response_type"] = "token"; // display 的方法也有幾種page/popup/iframe loginParameters["display"] = "popup"; if (!string.IsNullOrEmpty(FacebookApp.ExtendedPermissions)) { loginParameters["scope"] = FacebookApp.ExtendedPermissions; }
login的scope, 其實就是至你想apps所需要的permission設定,詳情都係要睇返facebook 的api
完整的code
var oauthClient = new FacebookOAuthClient { AppId = FacebookApp.AppId }; IDictionary<string object=""> loginParameters = new Dictionary<string object="">(); loginParameters["response_type"] = "token"; loginParameters["display"] = "popup"; // add the 'scope' parameter only if we have extendedPermissions. if (!string.IsNullOrEmpty(FacebookApp.ExtendedPermissions)) loginParameters["scope"] = FacebookApp.ExtendedPermissions; } Uri loginUrl = oauthClient.GetLoginUrl(loginParameters); this.webBrowser1.Navigate(loginUrl.AbsoluteUri); this.tabControl1.SelectedIndex = 1;
用以上的code就可以輕鬆地寫出一個連接上facebook 的login呢 :)
0 回應:
Post a Comment