从 wp8 应用程序在 facebook 上分享消息时出现权限屏幕

Posted

技术标签:

【中文标题】从 wp8 应用程序在 facebook 上分享消息时出现权限屏幕【英文标题】:Permission screen appears when share a message on facebook from wp8 app 【发布时间】:2014-06-13 10:36:38 【问题描述】:

我需要从 wp8 在 facebook 上分享一条消息。我附上了我的 Main.xaml 屏幕截图。

当点击分享按钮时,首先登录Facebook,然后请求应用程序的权限。我使用了以下代码。

 private FacebookSession session;
    private async Task Authenticate()
    
        string message = String.Empty;
        try
        
            session = await App.FacebookSessionClient.LoginAsync("user_about_me,publish_actions,read_stream");

            App.AccessToken = session.AccessToken;
            App.FacebookId = session.FacebookId;

            Dispatcher.BeginInvoke(() => NavigationService.Navigate(new Uri("/Share/LandingPage.xaml", UriKind.Relative)));
        
        catch (InvalidOperationException e)
        
            message = "Login failed! Exception details: " + e.Message;
            MessageBox.Show(message);
        

然后在 LandingPage.xaml 的 Loading 方法中,使用如下代码发布消息。

    private async void LandingPage_Loaded(object sender, RoutedEventArgs e)
    
        FacebookClient client = new FacebookClient(App.AccessToken);

        var parameters = new Dictionary<string, object>();
        parameters.Add("message", "First test post using Facebook login");

        await client.PostTaskAsync("me/feed", parameters);
    

当我运行应用程序时,成功登录 Facebook,但权限屏幕显示如下。

点击确定。然后发生错误。

(OAuthException - #200) (#200) The user hasn't authorized the application to perform this action

我尽力解决这个问题,但我失败了。如果有人有解决这个问题的想法。请帮帮我

谢谢。

【问题讨论】:

【参考方案1】:

我认为您缺少访问令牌请求中的请求代码。

dynamic result = facebookClient.Get("oauth/access_token", new

    client_id = appId,
    client_secret = appSecret,
    grant_type = "authorization_code"
    redirect_uri = Request.Url.AbsoluteUri,
    code = Request["code"]
);

【讨论】:

感谢您的回复。我使用以下代码在 Authenticate() 方法中获得了访问令牌。 session = await App.FacebookSessionClient.LoginAsync("user_about_me,publish_actions,read_stream"); App.AccessToken = session.AccessToken; 不正确吗?

以上是关于从 wp8 应用程序在 facebook 上分享消息时出现权限屏幕的主要内容,如果未能解决你的问题,请参考以下文章

从 iOS 在 Facebook 上分享

Facebook.Client WP8 使用哪个 Facebook API 版本?

使用 sharekit 从 iOS 应用程序在 Facebook 上共享文本

使用 URI 从“共享/传输”访问文件不再适用于 WP8 应用程序

安卓应用中的Facebook分享+评论提交

Facebook 分享功能在 iOS8 中不起作用