gpt4 book ai didi

android - 无效的 OAUTH 访问 token ,当使用应用程序访问 token 时,Android

转载 作者:行者123 更新时间:2023-11-30 04:09:09 41 4
gpt4 key购买 nike

正如标题所说,当我尝试请求获取安装了该字段的好友列表时:

"me/friends?Fields=installed&access_token=..."

我的 logcat 中出现以下错误:

"Invalid OAuth access token"

在查看 facebook api 时,我发现安装需要获取应用程序访问 token 。所以我使用 appId 和 app Secret 生成了应用程序访问 token :

https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=APP_ID&client_secret=APP_SECRET

代码如下:

try {

JSONObject obj = Util.parseJson(mFacebook.request("me/friends?fields=installed&access_token=..."));

Log.d("json Response", obj.toString());
JSONArray array = obj.optJSONArray("data");
if (array != null) {
for (int i = 0; i < array.length(); i++) {
// String name = array.getJSONObject(i).getString("name");

String id = array.getJSONObject(i).getString("id");

Log.d("Friends: ",id);
}
}
}catch (Exception e){
Log.d("Friends:", e.getMessage());
}

任何人都知道为什么我一直在寻找它这样做的年龄。

干杯

最佳答案

认证后得到的是App Access Token。

引用:作为应用程序进行身份验证允许您获取访问 token ,该 token 允许您代表应用程序而不是用户向 Facebook API 发出请求。这很有用,例如修改应用程序的参数、创建和管理测试用户,或阅读应用程序的见解等。应用访问 token 还可用于代表已授予应用程序发布权限的用户向 Facebook 发布内容

来自 facebook docs .

您的案例需要的是用户访问 token 。引用this .用户需要对您的应用进行身份验证并授予访问权限,您才能访问他的好友列表。

编辑

用于检查单个用户的 url 是 https://graph.facebook.com/ {uid}?fields=installed&access_token=< ACCESS_TOKEN >

您正在尝试获取用户好友列表,然后检查该应用是否已安装。如果没有用户访问 token ,我认为获取用户好友列表是不可能的。

编辑 2

根据您的评论假设您有 friend 的列表。然后您无需为每个用户调用,而是可以使用 FQL。

https://graph.facebook.com/fql?q=SELECT uid,is_app_user from user where uid IN (uid1,uid2)

如果您有用户访问 token ,那么您可以直接执行此操作。

https://graph.facebook.com/fql?q=SELECT uid,is_app_user from user where uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

希望这能解决您的问题。

关于android - 无效的 OAUTH 访问 token ,当使用应用程序访问 token 时,Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11100155/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com