【发布时间】:2011-01-07 18:17:43
【问题描述】:
我正在开发小型 Android 应用程序,尝试添加 Facebook 支持。
主要问题:我只能获取有关用户朋友的基本信息(ID、姓名)。 应用权限列表(offline_access 在这里只是为了测试,很快就会被移除):
String[] sPermissions = { "friends_about_me"
, "friends_birthday"
, "friends_location"
, "friends_website"
, "offline_access" };
mLoginButton.init(this, mFacebook, sPermissions);
以下请求工作正常 - 返回 id:name 对列表,
mAsyncRunner.request("me/friends", new SampleRequestListener());
但如果我更改它以获得更多信息
mAsyncRunner.request("me/friends?fields=id,name,birthday,hometown", new SampleRequestListener());
服务器返回错误“必须使用活动访问令牌来查询有关当前用户的信息。” 我使用浏览器测试了这些 Graph API 请求 - 它们都按预期工作。
小备注:我正在使用默认调试证书来签署应用程序并根据 Facebook 指令将其添加为 facebook 应用程序哈希:
注册您的应用程序的 Android 密钥哈希。 Facebook 使用它来确保其他应用在与 Facebook Android 应用对话时无法冒充您的应用。
生成密钥哈希:
keytool -exportcert -alias [别名] -keystore [密钥库] | openssl sha1 -二进制 | openssl base64 在 Facebook 开发者设置中,转到 移动和设备标签。
在 Android 部分,输入密钥 散列在 Key Hash 字段中。
也许还有其他方法可以获取用户的好友信息(生日、位置、性别等)?
【问题讨论】:
标签: android facebook-graph-api