如何使用Windows Phone 7本机应用程序制作墙贴

时间:2012-05-03 12:54:07

标签: facebook windows-phone-7.1

我在Windows Phone 7上创建了一个本机应用程序。

当用户注册为新用户时,该应用的用户将向我们提供他的登录凭据。我想做的是在我的应用程序中提供Facebook上的分享处理。

点击手柄后,所选图像应张贴在用户墙上,并向用户显示一条消息,表明图片已成功发布。

问题在于facebook没有为Windows Phone 7本机应用程序提供开发环境。

我想要一些替代解决方案。

1 个答案:

答案 0 :(得分:0)

感谢您的链接。我之前已经访问了该链接。我在wp7中实现了facebook集成。它工作正常,我能够制作墙贴。

这是我的代码,

//用户点击Facebook按钮分享

private void btnFacebookPost_Click(object sender,RoutedEventArgs e) {

       //Check if access tokens are already set.
        if (App.accessTokens == null)
        {
            GetAccessTokens();
        }
        else
        {
            //Use the access tokens to post on facebook
        }

    }

private void GetAccessTokens()         {

       // Navigate user to facebooks login page
       // if user has already authenticated your app you'll receive the access tokens directly


        webBrowser.Source = new Uri("https://www.facebook.com/dialog/oauth?client_id='your app id'&redirect_uri=https://www.facebook.com/connect/login_success.html&response_type=token&scope='whatever extended permissions you require'");

    }

//在Web浏览器的Navigated事件中检查访问令牌 //使用facebook c#sdk从网址

获取访问令牌

void webBrowser_Navigated(object sender,System.Windows.Navigation.NavigationEventArgs e)         {

        FacebookClient fbClient = new FacebookClient();

            FacebookOAuthResult oauthResult;
            if (fbClient.TryParseOAuthCallbackUrl(e.Uri, out oauthResult))
            {
                // The url is the result of OAuth 2.0 authentication
                if (oauthResult.IsSuccess)
                {

                    App.accessTokens = oauthResult.AccessToken;

                }
                else
                {

                    var errorDescription = oauthResult.ErrorDescription;
                    var errorReason = oauthResult.ErrorReason;
                }
            }
            else
            {
                // The url is NOT the result of OAuth 2.0 authentication.
            }

      }

现在使用访问令牌和facebook sdk for C#.net来制作墙上帖子或任何其他交易。

此方法的问题在于应用程序用户和Facebook的登录用户可能不同,因此对不同的帐户进行交易。 由于WP7的SSO不可用,因此这种方法应该可以解决问题。