当前位置: 首页 > 知识库问答 >
问题:

Spring FacebookTemplate引发用户配置文件的权限异常

夏青青
2023-03-14

我在使用iOS客户端上从后台服务获取的令牌继续OAuth会话时遇到问题。具体而言,这似乎是一个权限问题:

iOS客户端获取访问令牌(ObjC/FB iOS SDK v3.24)

使用以下权限建立的会话:

[FBSession openActiveSessionWithReadPermissions:@[
                @"email",
                @"user_about_me",
                @"user_friends",
                @"user_birthday",
                @"public_profile" . . . 

完成时。

FBSession *session = [FBSession activeSession];
NSString *accessToken = [session.accessTokenData accessToken];

访问发送到后端的令牌(Spring Boot静态编程语言

SpringFacebookTemboard使用上面获得的令牌实例化,如下所示:

@Test fun testFacebookTemplate()
{
    val facebook = FacebookTemplate("$$TOKEN_FROM_FACEBOOK_IOS_SDK$$")

    //Raises exception . . 
    val profile = facebook.userOperations().userProfile 
    println("Profile: " + profile)
}

在iOS客户端上建立的OAuth会话成功地从后端继续,例如,可以返回Facebook好友列表。但是,如上图所示,尝试检索配置文件会引发错误:

Error from Facebook: {"error":{"message":"(#3) Application does not have the capability to make this API call." , "type":"OAuthException","code":3,"fbtrace_id":"B4C+eS3n2PW"}}
DEBUG o.s.s.f.a.impl.FacebookErrorHandler - Facebook error: 
DEBUG o.s.s.f.a.impl.FacebookErrorHandler -    CODE        : 3
DEBUG o.s.s.f.a.impl.FacebookErrorHandler -    TYPE        : OAuthException

问题:

  • 缺少返回用户对象的权限。这似乎没有记录在Spring的FacebookTemplate中

共有2个答案

乐正锦
2023-03-14

facebook API更改后,字段“first\u name”替换为字段:“name”

public FacebookUser getFacebookUserData() {
    Facebook facebook = new FacebookTemplate(accessToken);
    String[] fields = {"id", "name", "email"};
    FacebookUser user = facebook.fetchObject("me", FacebookUser.class, fields);
    return user;
}

其中FacebookUser是:

public class FacebookUser {

String id;
String name;
String email;

public FacebookUser(){ }

public FacebookUser(String id, String name, String email) {
    this.id = id;
    this.name = name;
    this.email = email;
}
符功
2023-03-14

它看起来就像Spring的FacebookTemplatev2.0.2。版本在针对Facebook Graph API v2.3调用用户配置文件请求时出现了一些与权限相关的错误

作为变通使用:

val profile = facebook.fetchObject("me", User::class.java, 
    "id", "first_name", "last_name", "email");
 类似资料:
  • 问题内容: 我编写了一个Dockerfile和docker-compose.yml来构建一个自定义映像,该映像结合了beakerx和cling,内容如下。 和 的一些日志是 但是当我跑步时,我得到了错误。因此,我进入了docker镜像。 为什么一见钟情,为什么会有很多问号?当我以root身份运行或返回原始用户时,它是正确的。 我尝试手动运行start-notebook.sh,第一次失败,然后第二次

  • 我想为每个用户创建目录。 我看了几个如何操作,他们说了不同的东西,我希望它尽可能容易(我不关心加密,因为用户将使用他们的ssh密钥登录到机器) > 我是否也需要在每台从机/节点计算机上创建目录和用户? /user/myuser文件夹到底是什么?它应该是$HADOOP_HOME/ETC/HADOOP/HDFS-SITE.xml文件中的/opt/hadoop/dfs/name/data()文件夹吗?

  • 用于执行登录 Sharding Proxy 的权限验证。 配置用户名、密码、可访问的数据库后,必须使用正确的用户名、密码才可登录。 rules: - !AUTHORITY users: - root@localhost:root # <username>@<hostname>:<password> - sharding@:sharding provid

  • 用户在轻推上传文件时,考虑到对文件的传播有着不同的考量,因此在发送文件时也可以对文件的转发和下载权限进行设置。转发权限可选择:可转发、仅在企业内转发、不可转;下载权限可设置:可下载和不可下载。 例如,当文件为企业内的重要文件,仅希望企业内员工可见,不希望外传时,则可以设置文件为仅在企业内转发,不可下载;设置后,则该文件只能在企业内分享,文件可以支持在线预览,不可下载,并且将加上阅读者的名字和手机号

  • 本文向大家介绍Windows下MongoDB配置用户权限实例,包括了Windows下MongoDB配置用户权限实例的使用技巧和注意事项,需要的朋友参考一下 MongoDB默认设置为无权限访问限制注:研究成果基于Windows平台 在部署mongodb成功后,进入控制台: \ 输入命令:mongod use admin,你会发现该DB下包含了一个system.user表,呵呵,没错,这个表就等同于M

  • 配置文件分为用户级配置和项目级配置。 用户级配置包含用户的环境及 UI 相关的选项,包括: 用户选项 中的所有内容。 扩展工具,包括已配置的扩展列表。 其他工具中的UI相关选项,例如 Target 组件下 站点地图 的选定视图。 项目级配置包含在特定目标应用程序上执行的工作相关的选项,包括: 项目选项中的所有内容。 单个Burp工具中的非UI相关选项,例如 代理 (Proxy) 和 扫描器 (Sc