[英]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.