gpt4 book ai didi

ios - 我无法获取 Facebook 访问 token 来在 iOS 上使用图形 API

转载 作者:行者123 更新时间:2023-11-29 04:45:37 27 4
gpt4 key购买 nike

我是 StackOverflow 和 iOS 的新手。我正在尝试获取用户信息,例如群组、书籍等,并且我需要使用 Facebook 图形 API。要使用图形 API,您必须使用访问 token 。我在 Facebook 开发者页面上阅读了有关此主题的文章,并编写了一些代码,但它不起作用。你能帮助我吗?我的代码正确还是应该使用其他方法?

我的.h文件:

#import <UIKit/UIKit.h>
#import "FBConnect.h"

@interface FirstViewController : UIViewController <FBSessionDelegate,FBLoginDialogDelegate,FBRequestDelegate>{

Facebook *face;


}

@property(nonatomic,retain)Facebook *face;
-(IBAction)facePushed:(id)sender;
-(IBAction)logoutPushed:(id)sender;

我的 .m 文件:

-(IBAction)facePushed:(id)sender{

NSLog(@"FacePushed Began");
face=[[Facebook alloc]initWithAppId:@"313714785358239" andDelegate:self];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]
&& [defaults objectForKey:@"FBExpirationDateKey"]) {
face.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
face.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}
if (![face isSessionValid]) {
[face authorize:nil ];
}
else {
NSLog(@"Session is valid");
}
NSLog(@"FacePushed End");
}

}
- (void)fbDidLogin {
NSLog(@"aslan");

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[face accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[face expirationDate] forKey:@"FBExpirationDateKey"];
NSLog(@"%@", [face accessToken]);
[defaults synchronize];

}

- (void)fbDialogLogin:(NSString *)token expirationDate:(NSDate *)expirationDate {
NSLog(@"%@",token);


}

最佳答案

您必须在实现中检查以下内容:

  1. 在授权您的应用之前,您需要获得权限

     if (![face isSessionValid]) 
    {
    NSArray *permissions = [[NSArray alloc] initWithObjects:
    @"user_likes",
    @"read_stream",
    @"publish_stream",
    nil];
    [face authorize:permissions];

    [permissions release];
    }
  2. 您需要在应用程序委托(delegate)中添加以下函数(这里的facebook对象是您的FaceBook类的实例值)。

    // Pre 4.2 support
    - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
    {
    return [facebook handleOpenURL:url];
    }

    // For 4.2+ support
    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
    sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
    {
    return [facebook handleOpenURL:url];
    }
  3. 在您的 info.plist 中添加 URL 类型 > URL 方案 > 带 fb 前缀的 Facebook 应用 ID(最终您的值将类似于 fb313714785358239)。

祝你好运。

关于ios - 我无法获取 Facebook 访问 token 来在 iOS 上使用图形 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9686529/

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