原来我使用Facebook上的.NET SDK在这里找到:从旧的(V3.0)Facebook的净SDK迁移到最新版本(V5.0)
http://facebooktoolkit.codeplex.com/
,但现在,我试图迁移到其下面主办,最新版本实现了许多与最近的新的Facebook功能:
http://facebooksdk.codeplex.com/
即使我已经建立了几个Facebook的帆布应用程序,甚至集成了我们公司网站使用fa cebook连接,我仍然对关于Facebook认证/授权更改的细节和细节感到困惑。例如,我将如何将我从旧的(v3.0)与Facebook的.NET SDK集成中使用的以下.NET服务器代码移植到新的v5.0 .NET SDK中?
string perm = "publish_stream"; //or any permission you want to check
FBConnectAuthentication auth = new FBConnectAuthentication(Settings.FBConnectAPIKey, Settings.FBConnectAPISecret);
FBConnectSession fbSession = auth.GetSession();
string userId = fbSession.UserID;
var session = new Facebook.Session.ConnectSession(Settings.FBConnectAPIKey, Settings.FBConnectAPISecret);
var api = new Facebook.Rest.Api(session);
var usr = SessionInfo.CurrentUserOrUserAccountWithLastEmailAddressEntered;
Facebook.Schema.Enums.ExtendedPermissions perm
= (Facebook.Schema.Enums.ExtendedPermissions)Enum.Parse(typeof(Facebook.Schema.Enums.ExtendedPermissions), permission);
hasPermission = api.Users.HasAppPermission(perm);
,因为上面的代码正在从使用的REST API我们的服务器执行,移植到新的SDK时,我应该不用担心的使用Oauth的access_token?
在客户端,当最终用户查看我的网站一样,页面看起来做工精细当我做下面的JavaScript调用:
FB.Connect.showPermissionDialog('publish_stream, email, user_checkins', publishToWallPermissionGranted);
function publishToWallPermissionGranted() {
FB.Connect.streamPublish('some share message', null, null, null, false, null);
}
使用上面的客户端代码,我不是存储一个access_token或做类似的事情,但我怎么能够成功验证,授权和发布到用户的流?
我真的很感激任何人也可以给我一个更详细的解释,当我应该使用Oauth来获取访问令牌(即,如果用户正在使用我的画布应用程序),或者当我应该简单地使用我的appId来初始化javascript FB对象(即FB.init())在进行客户端API调用时或者我应该获取应用程序访问令牌时。
谢谢!
大多数情况下,我可以使用我们网站上的Javascript SDK(调用FB.ui()来显示权限对话框等),但是我们网站上有一些功能依赖于使REST API调用Facebook以检索信息。现在,我的任务是集成新的.net Facebook SDK,我很困惑如何使用.net sdk获得有效的会话并获取有关用户的信息(即,用户授权我的Facebook启用了哪些权限网站)。 – Deven