2011-06-14 46 views
0

我有一个web项目(而不是mvc),并且我正在尝试了解Facebook集成(我是一个Facebook开发人员noob)。在我的页面中,我有一些简单的html和一个asp.net按钮。我为signed_request(按钮回发)添加了一个隐藏字段,这似乎也没关系。当我尝试在我的page_load中添加多个权限时,问题就出现了。如果我只检查user_about_me权限,该页面似乎正常工作。如果我添加publish_stream权限,那么页面会不断循环,并反复加载(每次都重定向)。这是我的page_load代码,当它循环,让它不循环,我只是删除逗号和第二个权限。奇怪的是无论是允许运行在拥有:CanvasAuthorizer.Permissions拥有多个权限时陷入循环的页面

protected void Page_Load(object sender, EventArgs e) 
{ 
    var auth = new CanvasAuthorizer(); 

    auth.Permissions = new[] { "user_about_me,publish_stream" }; 
    if (auth.Authorize()) 
    { 
    var fb = new FacebookWebClient(); 
    dynamic me = fb.Get("me"); 

    lblAuth.Text = string.Format("User {0} has given permission for this app.", me.name); 

    } 
    else 
    { 
    lblAuth.Text = "You have not given permission to this application"; 
    } 
} 

我的aspx看起来是这样的:

<asp:Label ID="lblAuth" runat="server" Text=""></asp:Label> 
<% if(!string.IsNullOrEmpty(Request.Params["signed_request"])) { %> 

<input type="hidden" name="signed_request" value="<%= Request.Params["signed_request"] %>" /> 

<% } %> 
<asp:Button ID="btnPlaceOrder" runat="server" Text="Place Order" 
     onclick="btnPlaceOrder_Click" />&nbsp; 
     <asp:Label ID="lblOrderPlaced" runat="server" Text=""></asp:Label> 

感谢您的帮助! -Jeff

回答

1

变化

auth.Permissions = new[] { "user_about_me,publish_stream" }; 

auth.Permissions = new[] { "user_about_me", "publish_stream" }; 
+0

哦,我才真正做到这一点?它是一个数组 - DUH!对于那个很抱歉。我不敢相信我做到了。谢谢!我保证不再发布非sdk的东西! – Jeff 2011-06-15 21:32:09