我在Windows Phone 7上创建了一个本机应用程序。
当用户注册为新用户时,该应用的用户将向我们提供他的登录凭据。我想做的是在我的应用程序中提供Facebook上的分享处理。
点击手柄后,所选图像应张贴在用户墙上,并向用户显示一条消息,表明图片已成功发布。
问题在于facebook没有为Windows Phone 7本机应用程序提供开发环境。
我想要一些替代解决方案。
答案 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不可用,因此这种方法应该可以解决问题。