【问题标题】:Facebook API for iPhone Error: An active access token must be usediPhone 的 Facebook API 错误:必须使用活动的访问令牌
【发布时间】:2011-09-01 08:04:40
【问题描述】:

我正在尝试检索我的在线朋友,但我收到此错误:“必须使用活动访问令牌来查询有关当前用户的信息。”

这是我的方法:`-(IBAction)act:(id)sender{

NSArray* permissions =  [[NSArray arrayWithObjects:
                          @"user_online_presence", @"friends_online_presence", nil] retain];

[facebook authorize:permissions delegate:self];
[facebook requestWithGraphPath:@"me/friends" andDelegate:self];     

NSLog(@"dd");
NSLog(@"%@",facebook.accessToken);

} ` 我在这里做错了什么?

【问题讨论】:

    标签: iphone facebook api


    【解决方案1】:

    您没有等待授权完成。

    您需要实现 didLogin 委托方法,并且

    [facebook requestWithGraphPath:@"me/friends" andDelegate:self];

    应该只在调用 didLogin 之后才去。

    【讨论】:

    • didlogin的结构如何?例如 didfailwitherror 是这样的: - (void)request:(FBRequest*)request didFailWithError:(id)result {
    • -(void)fbDidLogin;它在 FBSessionDelegate 上(也在 Facebook.h 中)
    • 我已经在我的 .m 上尝试过这个,但无法正常工作!我正在使用最新版本的 FBconnect。 -(void)fbDidLogin{ [facebook requestWithGraphPath:@"me/friends" andDelegate:self]; NSLog(@"登录了"); }
    • 它对我有用 回顾你的代码,你在我的代码中使用 [facebook authorize:permissions delegate:self] 我有 [facebook authorize:my_facebook_app_id permissions:permissions delegate:self] 你提供你在其他地方的 Facebook 应用程序 ID?
    • 是的!弹出窗口询问我是否要授权等等。除了这个,一切都很好!这是我的应用程序 ID:- (void)viewDidLoad { [super viewDidLoad]; facebook = [[Facebook alloc] initWithAppId:@"xxxxxxxx"]; [facebook 授权:nil 代表:self];
    猜你喜欢
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 1970-01-01
    • 2016-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多