APIを介してFacebookログインに接続したいのですが、ログインして情報を取得できますが、すべてFacebookからのものです:
これが私のコードです このコードをどのように書くことができますか return [FBSession.activeSession handleOpenURL:url]; に
return [[[HttpRequest sharedHttpRequest] session] handleOpenURL:url];
session.activeSession が必要ですが、このように正しくするとエラーが発生します
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation
{
//return [FBSession.activeSession handleOpenURL:url];
// return [[[HttpRequest sharedHttpRequest] session] handleOpenURL:url];
}
この方法を実装するのを手伝ってくれませんか?
前もって感謝します!
更新: URL と stringByAppendingString:@"connect-fb" を使用することはありません
ログインして情報を取得できますが、API を使用することはありません。たとえば、この NSString *url = [BASE_URL stringByAppendingString:@"connect-fb"]; で動作します。また、必要なものを stringByAppendingString:@"everything" に入れると、
ログインしてAPIに接続するための私の方法は次のとおりです。
-(void) getApiUserInfos
{
if (FBSession.activeSession.isOpen) {
[[FBRequest requestForMe] startWithCompletionHandler:
^(FBRequestConnection *connection,
NSDictionary<FBGraphUser> *user,
NSError *error) {
if (!error) {
NSString *url = [BASE_URL stringByAppendingString:@"connect-fb"];
NSLog(@"%@",url);
NSString *post = [NSString
stringWithFormat:@"facebookId=%@&firstName=%@&lastName=%@&email=%@",
self.facebookId = user.id,
self.firstName= user.first_name,
self.lastName= user.last_name,
self.email=user.email];
NSLog(@"post : %@",post);
post = [post stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSData *postData = [NSData dataWithBytes: [post UTF8String] length: [post
lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL
URLWithString:url]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:600];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:postData];
[NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue
alloc] init]
completionHandler:
^(NSURLResponse *response, NSData *data, NSError *error) {
return;
if(error)
{
NSLog(@"Errorr");
}
///write for if error
NSString *ret = [NSString stringWithUTF8String:[data bytes]];
NSLog(@"api yser infos RETSTRING : %@",ret);
}];
}
}];
}