gpt4 book ai didi

ios - 当我尝试登录 iOS sdk 时无法通过 FBSDKLoginKit 获取访问 token

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:40:47 24 4
gpt4 key购买 nike

我正在使用 facebook sdk 在 facebook 上共享文本,但在尝试登录时无法获取访问 token 。登录成功,但没有获得任何访问 token 。因此,如果没有访问 token ,我将无法在 Facebook 上共享文本。我的代码如下

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithReadPermissions:@[@"public_profile"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {


if ([result.token hasGranted:@"publish_actions"]) {
[[[FBSDKGraphRequest alloc]
initWithGraphPath:@"me/feed"
parameters: @{ @"message" : @"hello world"}
HTTPMethod:@"POST"]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error) {
NSLog(@"Post id:%@", result[@"id"]);
}
}];
}

if (error) {
// Process error
} else if (result.isCancelled) {

// Handle cancellations
} else {
// If you ask for multiple permissions at once, you
// should check if specific permissions missing
if ([result.grantedPermissions containsObject:@"email"]) {
// Do work
}
}

}];

我在 FBSDKLoginManager 对象的处理程序 block 中得到了没有错误的结果,但它不包含 token 或其他数据

输出如下

enter image description here

请告诉我如何解决这个问题谢谢

最佳答案

试试这段代码。基于 Facebook SDK 4.0 版

AppDalegate.m

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation];
}

ViewController.m

- (IBAction)btnFacebookPressed:(id)sender {
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
{
if (error)
{
// Process error
}
else if (result.isCancelled)
{
// Handle cancellations
}
else
{
if ([result.grantedPermissions containsObject:@"email"])
{
NSLog(@"result is:%@",result);
[self fetchUserInfo];
[login logOut];
}
}
}];
}

-(void)fetchUserInfo
{
if ([FBSDKAccessToken currentAccessToken])
{
NSLog(@"Token is available : %@",[[FBSDKAccessToken currentAccessToken]tokenString]);

[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id, name, link, first_name, last_name, picture.type(large), email, birthday, bio ,location ,friends ,hometown , friendlists"}]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error)
{
NSLog(@"resultis:%@",result);
}
else
{
NSLog(@"Error %@",error);
}
}];

}

}

关于ios - 当我尝试登录 iOS sdk 时无法通过 FBSDKLoginKit 获取访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30248048/

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