将 FacebookAPI / restfb 1.6 迁移到 1.36 会导致弃用警告和编译错误

Migrating FacebookAPI / restfb 1.6 to 1.36 results in deprecation warning and compile error

我正在处理一个遗留 Java 项目,该项目目前使用 restfb 和过时的版本 1.6.11。将版本更新到 1.36.0 时,由于不推荐使用的方法弹出了一些警告。他们中的大多数人抱怨缺少 com.restfb.Version,这是我提供的,一切都很好。但我对 com.restfb.types.UsergetUsername() 的弃用有点困惑。查阅 JavaDoc 没有帮助,因为它没有给出使用什么的提示。

/**
 * The user's Facebook username.
 *
 * @return The user's Facebook username.
 * @since 1.6.5
 * @deprecated since graph api 2.0
 */
@Deprecated
@Getter
@Setter
@Facebook
private String username;

还有什么其他方法/其他方式适合获取该信息,因为在代码中进一步需要它?

我在代码的其他地方也发现了一个关于 com.restfb.types.Page 的编译错误。 getPicture() 曾经返回一个字符串 the picture,后来变成了 com.restfb.types.ProfilePictureSourceProfilePictureSource 的 url 是否与 "the picture" 的数据相同或有待处理的数据?

提前致谢。

可以在 RestFB Google group 中找到详细答案。

简短的回答是:

  1. username 已被 Facebook 使用 Graph API 2.0 删除,因此在没有提示的情况下已弃用。别无选择。
  2. 是的,ProfilePictureSource url 字段是前主页的 picture 字段