Facebook 登录返回空访问 token

标签 facebook unity-game-engine facebook-login facebook-access-token facebook-unity-sdk

Unity 4.3.3f1

SDK 版本 5.0.4

构建版本 140220.cc3a9c089a2eb9e


您好,过去 4 个月我一直在使用 Facebook SDK for Unity 开发游戏,自上周五以来一直遇到问题。每次我尝试从应用登录应用时,LoginCallback(FBResult result){} 方法中的 Result.Text 都会返回以下字符串:

{"is_logged_in":false,"user_id":"","access_token":"","access_token_expires_at":"01/01/0001 00:00:00"}

因此,由于某种原因,它没有获取 user_id,也没有生成在应用程序上使用的正确 token 。

我确保我的包名称、类名称和 key 哈希值在 Unity SDK 上的 facebook 设置和 Facebook 上的应用程序设置之间匹配,它们确实如此。

我注意到一件事可能有意义,也可能没有意义,但我不知道,类名称现在是

com.facebook.unity.FBUnityDeepLinkingActivity

在 Unity 的 FacebookSettings 上,我将其更改为 Facebook 的应用程序设置上的相同值。

我按下了“重新生成 Android list ”按钮,这是我的 list ,以防它有助于识别问题:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" android:installLocation="preferExternal" android:theme="@android:style/Theme.NoTitleBar" android:versionCode="1" android:versionName="1.0">
  <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />
  <application android:icon="@drawable/app_icon" android:label="@string/app_name" android:debuggable="true">
    <activity android:name="com.facebook.unity.FBUnityPlayerActivity" android:launchMode="singleTask" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
    <activity android:name="com.unity3d.player.UnityPlayerActivity" android:launchMode="singleTask" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
    </activity>
    <activity android:name="com.unity3d.player.UnityPlayerNativeActivity" android:launchMode="singleTask" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
      <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
    </activity>
    <activity android:name="com.facebook.LoginActivity" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation">
    </activity>
    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="\ 1422526867979289" />
    <activity android:name="com.facebook.unity.FBUnityLoginActivity" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
    </activity>
    <activity android:name="com.facebook.unity.FBUnityDeepLinkingActivity" android:exported="true">
    </activity>
  </application>
</manifest>

任何帮助将不胜感激,谢谢。

PS:另外,还有一个简单的问题。哪个 list 有效?位于:

Assets/Android/AndroidManifest.xml 

或以下内容:

Assets/Plugins/Android/AndroidManifest.xml

尽管如此,这两个 list 与我在此处发布的 list 完全相同。谢谢。

最佳答案

正如一位开发人员同事所建议的那样,问题实际上是当我添加 keystore 以便能够将我的 apk 上传到 Playstore 时,Facebook 登录停止工作。添加 keystore 后,我需要使用 keytool 对其进行处理,并将新创建的 Keyhash 上传到我的 Facebook 应用程序帐户。

为了将来的引用,每当发生类似的事情时,sdk 可以抛出异常或其他东西而不是空数组,这会很好,尝试解决问题会更简单。

关于Facebook 登录返回空访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22641244/

相关文章:

android - Facebook 登录 : It doesn't redirect to the Facebook app installed?

ios - 如何在不打开 Facebook 应用程序的情况下登录 Facebook?

ios - Facebook 全屏图片

java - Android Facebook 注销错误(未知方法)

c# - 使用 Dot 语法 c# 时 Unity 程序集引用错误

Facebook,在 2.1 Facebook 中使用我/照片发布到墙上?

iphone - 通过 Facebook iOS SDK 获取我的所有事件

php - 未启用安全浏览的用户无法看到我的 Facebook 应用程序

unity-game-engine - 如何以编程方式在 Unity 3D 中设置 UI 文本的字体

Facebook 应用 : Firebase Simple Login URL error