即使在通过SDK成功登录Facebook后,BrowserSession.LoginComplete事件也无法正常工作

Rav*_*shi 6 c# facebook facebook-c#-sdk

当我通过Browsersession.Login()登录Facebook时,它工作正常,但BrowserSession.LoginComplete事件在此期间不起作用.

任何人都可以建议为什么我的项目中会发生这种事情?

Som*_*luk 0

  1. 请检查您的 Facebook 应用程序中的连接 URL。如果您在本地主机上工作,那么它应该是:http://localhost:[port#]
  2. 检查您的 fblogin.js 文件,其中 xd_receiver.htm 路径应该正确(检查此: https: //developers.facebook.com/docs/reference/oldjavascript/FB.Facebook.init/

另请检查:

  1. 检查您是否在浏览器会话中使用正确的 API 密钥

  2. 在 fblogin.js silverlightPluginId 中是正确的。下面的示例:SLHostPage:

    <div id="silverlightControlHost">
        <object id="_sl_facebookapp" data="data:application/x-silverlight-2," type="application/x-silverlight-2"
            width="100%" height="100%">
            <param name="source" value="ClientBin/SilverlightFacebookApp.xap" />
            <param name="onError" value="onSilverlightError" />
            <param name="background" value="white" />
            <param name="minRuntimeVersion" value="3.0.40624.0" />
            <param name="autoUpgrade" value="true" />
            <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration: none">
                <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight"
                    style="border-style: none" />
            </a>
        </object>
        <iframe id="_sl_historyFrame" style="visibility: hidden; height: 0px; width: 0px;
            border: 0px"></iframe>
    </div>
    
    Run Code Online (Sandbox Code Playgroud)

    fblogin.js: // 验证此变量与 Silverlight 插件 ID 匹配 var silverlightPluginId = '_sl_facebookapp';

  3. 检查您的 SL 应用程序是否实现了事件处理程序

_browserSession.LoginCompleted += browserSession_LoginCompleted;

    private void browserSession_LoginCompleted(object sender, EventArgs e)
    {
        _facebookAPI = new Api(_browserSession);
    }
Run Code Online (Sandbox Code Playgroud)

请参阅:http://social.msdn.microsoft.com/Forums/en-US/silverlightnet/thread/d14b0ac5-4539-4cae-ba9e-4020e488d458