Facebook C#SDK示例代码

时间:2011-01-04 18:12:20

标签: facebook facebook-c#-sdk

我使用Facebook C#SDk 4.1.1开发应用程序。有没有人有一个完整的asp.net表单示例代码,包括Web配置设置? 我真的很累,使示例代码工作。我相信我在facebook app registration和web.Config文件中使用了正确的设置

问题是: 当我从Visual Studio运行我的测试项目时,它将进入facebook登录页面。登录后,该应用程序正在请求授权。一旦我点击允许按钮,brwoser就会重定向到一个有很多参数的很长的URL。但响应是服务器错误。

用户点击“允许”按钮后,是否有人可以解释我该怎么做? 如果你能为我提供一步一步的程序,我真的很感激。 感谢

Facebook应用注册设置

  

App ID XXXXXXXXXXXXX

     

API密钥xxxxxxxxxxxxxxxxxxxxxxx

     

App Secret   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

     

画布页面   apps.facebook.com/smartbuttonthree /

     

Canvas URL preview.smartbutton.com/dev /

     

Canvas FBML / iframe iframe

注意:在这篇文章中,我删除了Canvas Page和Canvas URL的'http://',因为我无法发布超过1个超链接。

Web.COnfig文件

    <configuration>
  <configSections>
    <section type="Facebook.FacebookConfigurationSection, Facebook" name="facebookSettings"/>
    <section name="canvasSettings" type="Facebook.Web.CanvasConfigurationSettings, Facebook.Web" />
  </configSections>
  <facebookSettings appId="xxxxxxxx"  appSecret="xxxxxxx"  cookieSupport="true" />
  <canvasSettings 
    canvasPageUrl="http://apps.facebook.com/smartbuttonthree/"  
    canvasUrl="https://preview.smartbutton.com/dev/" 
    authorizeCancelUrl="http://www.facebook.com"/>
  <system.web>
    <httpHandlers>
      <add verb="*" path="facebookredirect.axd" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />
    </httpHandlers>
    <compilation debug="false" strict="false" explicit="true" targetFramework="4.0" />
    <sessionState mode="Off" />
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <defaultDocument>
      <files>
        <clear />
        <add value="Default.aspx" />
      </files>
    </defaultDocument>
    <handlers>
      <add name="facebookredirect.axd" path="facebookredirect.axd"  verb="*" 
          type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />
    </handlers>
  </system.webServer>
</configuration>

Default.aspx.vb

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load   

    fbApp = New FacebookApp()
    authorizer = New CanvasAuthorizer(fbApp)
    authorizer.Perms = requiredAppPermissions

    If (authorizer.Authorize()) Then
      showFacebookContent()
    End If


  End Sub
  Private Sub showFacebookContent()
    Dim myInfo = fbApp.Get("me")
    lblName.Text = "Welcome " & myInfo.name
  End Sub

更新:如果我在登录Facebook帐户之前浏览应用程序(apps.facebook.com/smartbuttonthree),该应用程序就可以运行。

如果我首先登录到Facebook然后浏览到apps.facebook.com/smartbuttonthree/

,应用无法运行

2 个答案:

答案 0 :(得分:1)

我在这里找到了一个很好的入门网站。它是C#中的示例网站。您需要使用自己的API密钥和密钥来运行此应用程序。

Facebook C# Sdk Sample website

答案 1 :(得分:0)

看起来你已经搞清楚但如果你还在寻找一个完整的样本,请查看我在http://code.google.com/p/facebooksteamachievements/使用Facebook C#SDK构建的开源ASP.NET 4.0 Facebook Canvas应用程序。