2011-02-13 20 views
0

我正在嘗試將我的ASP.NET WebForms IFrame Canvas應用程序從Facbook C#SDK 4.02升級到5.03測試版。大部分變化都非常簡單。但是,我不是100%確定CanvasAuthorizer.GetLoginUrl()。如何在v5中使用CanvasAuthorizer.GetLoginUrl?

這是我爲V4.02

CanvasAuthorizer _authorizer = new CanvasAuthorizer {Perms = "publish_stream,offline_access"}; 

Uri authurl = _authorizer.GetLoginUrl(new HttpRequestWrapper(Request)); 
CanvasRedirect(authurl.ToString()); 

而且這裏的代碼是基於爲V5.03我最好的猜測對PHP的例子在http://developers.facebook.com/docs/reference/dialogs/oauth

CanvasAuthorizer _authorizer = new CanvasAuthorizer {Perms = "publish_stream,offline_access"}; 

Dictionary<string, object> parameters = 
    new Dictionary<string, object> 
     { 
      {"scope", _authorizer.Perms}, 
      {"client_id", _authorizer.AppId}, 
      {"redirect_uri", _authorizer.ReturnUrlPath}, 
      {"response_type", "token"} 
     }; 
Uri authurl = _authorizer.GetLoginUrl(parameters); 
CanvasRedirect(authurl); 
將這項工作

?有一個更好的方法嗎?

回答

0

一些試驗和錯誤後,我用它來工作如下:

CanvasAuthorizer _authorizer = new CanvasAuthorizer {Perms = "publish_stream,offline_access"}; 
if (!_authorizer.IsAuthorized()) 
{ 
    _authorizer.HandleUnauthorizedRequest(); 
} 
+0

我也是在我的Facebook應用程序設置中啓用了「POST的畫布」。我不確定這是否有所作爲。 – jrummell 2011-02-17 04:29:58