繁体   English   中英

Facebook 图 API 问题与 iOS SDK

[英]Facebook graph API issue with the iOS SDK

我遇到了 Facebook 图 API 的问题,更准确地说是 iOS ZF20E3C5E54C0AB3D376AZD6066 我的代码过去可以正常工作,但现在我在尝试使用它时收到此错误描述(获取个人提要、朋友提要、朋友列表……):

Err details: Error Domain=facebookErrDomain Code=10000 "The operation couldn’t be completed. (facebookErrDomain error 10000.)" UserInfo=0x7113b80 {error=<CFBasicHash 0x7113910 [0x176e400]>{type = mutable dict, count = 2,
entries =>
    2 : <CFString 0x7121e60 [0x176e400]>{contents = "type"} = <CFString 0x7113a20 [0x176e400]>{contents = "OAuthException"}
    3 : <CFString 0x7113b40 [0x176e400]>{contents = "message"} = <CFString 0x7113a00 [0x176e400]>{contents = "An access token is required to request this resource."}
}
}

有人知道它可能来自哪里吗?

这也是我的源代码:

facebook = [[Facebook alloc] initWithAppId:@"00000000000000"];
    NSArray *permissions =  [[NSArray arrayWithObjects:@"read_stream", @"publish_stream", @"offline_access",nil] retain];
    [facebook authorize:permissions delegate:self];
    [facebook requestWithGraphPath:@"1342568689/feed" andDelegate:self];

此外,offline_access 正在被贬低,他们建议检查应用程序初始化以扩展令牌 - 请参阅文档,但此处的代码段:

-(void)fbDidExtendToken:(NSString *)accessToken expiresAt:(NSDate *)expiresAt { NSLog(@"token extended"); [self storeAuthData:accessToken expiresAt:expiresAt]; }

好吧,我自己确实发现 Facebook SDK 有点棘手,但这里有几件我看到的东西希望能有所帮助。

首先,我认为您在输入问题随附的代码时可能错误地复制了几种方法。 “facebook”object 的分配是设置委托的地方,“authorize”方法只需要一个 NSMutableDictionary 参数。 为清楚起见,代码应如下所示:

facebook = [[Facebook alloc] initWithAppId:@"00000000000000" andDelegate:self];
NSArray *permissions =  [[NSArray arrayWithObjects:@"read_stream", @"publish_stream", @"offline_access",nil] retain];
[facebook authorize:permissions];
[facebook requestWithGraphPath:@"1342568689/feed" andDelegate:self];

除此之外,唯一真正的问题是您在应用程序有时间完全授权之前调用图表 API。 这些调用都是异步完成的,因此在授权过程实际上返回有效的访问令牌之前,主线程正在继续您的requestWithGraphPath:andDelegate调用。 您可以将此调用或任何其他类似调用移动到按钮 onClick 处理程序中,或者为了更直接的测试,移动到 Facebook Session 委托方法fbDidLogin

希望有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM