gpt4 book ai didi

ios - FaceBook Messenger SDK 如何获取用户名

转载 作者:可可西里 更新时间:2023-11-01 03:31:38 30 4
gpt4 key购买 nike

我正在开发 Messenger 应用程序,主要是通过查看 the docs here

唯一的问题是如何将用户信息传递给与您共享内容的人?

从文档看来 FBSDKMessengerURLHandlerReplyContext 可能包含用户 ID

NSSet *userIds = context.userIDs

可是,如何使用userID获取用户信息呢?或者它甚至是获取用户信息的正确方法?

看来这个任务是可以完成的。 This game does that

它可以在第一个屏幕上告诉用户信息,而无需实际要求用户登录。

关于如何实现它的任何想法或帮助?

最佳答案

如果用户 ID 来自已经在您的应用中进行身份验证的用户,则可以使用图形 API 来实现,就像他们在 facebook 文档上所说的那样:

User IDs can be used with the Facebook SDK and Graph API (https://developers.facebook.com/docs/graph-api) to query names, photos, and other data. This will only contain IDs of users that have also logged into your app via their Facebook account.

这里有一些关于如何使用带有用户 ID 的图形 API 的代码。您可以按如下方式进行调用:

FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:[NSString stringWithFormat:@"/%@", {userID-goes-here}]
parameters:@{@"fields":@"name,id,picture,gender,birthday,email"}
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
if (!error){
NSLog(@"result: %@",result);
}
}];

这个请求的结果是这样的:

 {
birthday = "06/24/1981";
email = "XXXXXX@hotmail.com";
gender = male;
id = 67XXXXX39;
name = "Adriano Spadoni";
picture = {
data = {
"is_silhouette" = 0;
url = "https://fbcdn-prof... ...jpg";
};
};
}

请记住,某些字段可能为空。

恐怕你可能需要做一个逐个用户请求的循环,如果有人知道如何同时请求用户补丁,请告诉我们如何做。

但是

如果您想从尚未安装您的应用的用户那里获取信息,您需要:

 FBSDKGraphRequest(graphPath: "me/taggable_friends", parameters: ["fields":"installed,id,name,picture.width(1000)"]).startWithCompletionHandler({ (connection, result, err) -> Void in
if err == nil {
print(result)
}
})

关于ios - FaceBook Messenger SDK 如何获取用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32034453/

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