警告:无会话请求需要令牌,但缺少任一应用程序ID或客户端令牌令牌、应用程序、客户端、ID

2023-09-06 00:07:21 作者:  〆⒈к〆⒊к | 〆⒈к〆⒋к

使用FB SDK为Android有时它抛出我的错误在logcat中。

任何人都知道的原因是什么?我的应用程序正在运行,并批准了(而不是在谷歌播放)。我还使用了哈希的事情,有FB的应用程序页面上我的主要活动和软件包名称上市。

解决方案

您应检查设置你的散列键的https:/ /developers.facebook.com 试试下面的code,检查并添加正确的hashkey。 它为我工作!

 私人无效getSHAFingerPrint(){
      PackageInfo信息;
      尝试 {

          信息= getPackageManager()。getPackageInfo(
                  your.package,PackageManager.GET_SIGNATURES);

          对于(签名签名:info.signatures){
              消息摘要MD;
              MD = MessageDigest.getInstance(SHA);
              md.update(signature.toByteArray());
              字符串的东西=新的String(Base64.en code(md.digest(),0));
              Log.e(哈希键的东西);
              的System.out.println(哈希键+的东西);
          }

      }赶上(E1的NameNotFoundException){
          Log.e(找不到名称,e1.toString());
      }赶上(抛出:NoSuchAlgorithmException E){
          Log.e(没有这样的算法,e.toString());
      }赶上(例外五){
          Log.e(异常,e.toString());
      }
  }
 

如何设置Oak登录token 令牌 会话到期

Using the FB SDK for Android sometimes it throws me error in Logcat.

Anyone knows the reason? My app is running and approved (Not on google play). I'm also using the hash thing and have my main activity and package name listed on the FB app page.

解决方案

You should check your Hash Key in Settings at https://developers.facebook.com Try the code below to check and add correct hashkey. It work for me!!!

private void getSHAFingerPrint(){
      PackageInfo info;
      try {

          info = getPackageManager().getPackageInfo(
                  "your.package", PackageManager.GET_SIGNATURES);

          for (Signature signature : info.signatures) {
              MessageDigest md;
              md = MessageDigest.getInstance("SHA");
              md.update(signature.toByteArray());
              String something = new String(Base64.encode(md.digest(), 0));
              Log.e("Hash key", something);
              System.out.println("Hash key" + something);
          }

      } catch (NameNotFoundException e1) {
          Log.e("name not found", e1.toString());
      } catch (NoSuchAlgorithmException e) {
          Log.e("no such an algorithm", e.toString());
      } catch (Exception e) {
          Log.e("exception", e.toString());
      }
  }