请求拒绝权限。 Facebook的团结

时间:2014-05-30 08:54:24

标签: facebook unity3d facebook-unity-sdk

尝试使用FB.login(" Scope")请求拒绝权限,但它会再次将我重定向到登录页面。登录后,它会提示我"您已经授权APPNAME。" FB.login不支持" auth_type"。

有没有人有解决这个问题的方法?

感谢〜 愿力量与你同在

1 个答案:

答案 0 :(得分:0)

不确定您曾尝试重新询问拒绝权限的平台,可能是针对Canvas。我只能为Android推荐解决方案。

首先,我们需要破解提供的AndroidFacebookFB类。为了防止将来通过插件更新覆盖我们的更改,我们几乎不会触及第三方文件,只需创建课程partial

// AndroidFacebook.cs

namespace Facebook
{
    sealed partial class AndroidFacebook : AbstractFacebook, IFacebook

// FB.cs

public sealed partial class FB : ScriptableObject

现在我们可以使用几种方法扩展现有的类:

using System.Collections.Generic;

namespace Facebook
{
    partial class AndroidFacebook
    {
        public void LoginWithParameters(IDictionary<string, object> parameters, FacebookDelegate callback = null)
        {
            if (parameters == null)
                parameters = new Dictionary<string, object>();
            var paramJson = MiniJSON.Json.Serialize(parameters);
            AddAuthDelegate(callback);
            CallFB("Login", paramJson);
        }
    }
}

partial class FB
{
    public static bool TryLoginWithParametersOnAndroid(IDictionary<string, object> parameters, Facebook.FacebookDelegate callback = null)
    {
        var androidFacebook = FacebookImpl as Facebook.AndroidFacebook;
        if (androidFacebook == null)
            return false;
        androidFacebook.LoginWithParameters(parameters, callback);
        return true;
    }
}

以下是我们如何传递scopeauth_type

var parameters = new Dictionary<string, object>
{
    { "scope", "email" },
    { "auth_type", "rerequest" },
};
var apiCallSucceeded = FB.TryLoginWithParametersOnAndroid(parameters, result =>
{
    ...
});