我正在尝试 Snpachat 的 SnapKit 登录 api,并且我已经按照文档/指南中的描述设置了我的项目。我已允许在仪表板中使用所有范围,即外部 id、显示名称和 bitmoji,并在我的应用程序的 .plist 中添加了必填字段。
登录和身份验证正常进行并成功返回,但是当我尝试获取用户数据时,该请求每次都会失败,并出现SCOAuth2ClientErrorDomain错误。
我正在使用指南中提供的代码段(尽管该代码有错字并且没有按原样构建,所以我怀疑该代码的有效性):
[SCSDKLoginClient loginFromViewController:self completion:^(BOOL success, NSError * _Nullable error) {
NSString *graphQLQuery = [@"{me{displayName, bitmoji{avatar}, externalId}}" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSDictionary *variables = @{@"page": @"bitmoji"};
[SCSDKLoginClient fetchUserDataWithQuery:graphQLQuery
variables:variables
success:^(NSDictionary *resources) {
NSDictionary *data = resources[@"data"];
NSDictionary *me = data[@"me"];
NSString *displayName = me[@"displayName"];
NSDictionary *bitmoji = me[@"bitmoji"];
NSString *bitmojiAvatarUrl = bitmoji[@"avatar"];
} failure:^(NSError * error, BOOL isUserLoggedOut) {
// handle error as appropriate
}];
}];
我什至尝试在没有 bitmoji 的情况下配置我的应用程序,并在没有它的情况下尝试了请求,但它仍然失败。
[SCSDKLoginClient loginFromViewController:self completion:^(BOOL success, NSError * _Nullable error) {
NSString *graphQLQuery = [@"{me{displayName, externalId}}" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[SCSDKLoginClient fetchUserDataWithQuery:graphQLQuery
variables:nil
success:^(NSDictionary *resources) {
NSDictionary *data = resources[@"data"];
NSDictionary *me = data[@"me"];
NSString *displayName = me[@"displayName"];
} failure:^(NSError * error, BOOL isUserLoggedOut) {
// handle error as appropriate
}];
}];
任何人都知道我可能做错了什么?