2

Snpachat の SnapKit ログイン API を試しており、ドキュメント/ガイドの説明に従ってプロジェクトをセットアップしました。ダッシュボードですべてのスコープ (外部 ID、表示名、ビット文字) の使用を許可し、アプリの .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 を使用せずにアプリを構成してみましたが、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
                                        }];
}];

誰が私が間違っているのか知っていますか?

4

1 に答える 1