0

Xcode4.3.1を使用しています

以下のコードを使用して、Facebookアクセストークンを取得します。

Appdelegateの場合:

facebook=[[Facebook alloc]initWithAppId:appid andDelegate:first];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"] 
    && [defaults objectForKey:@"FBExpirationDateKey"]) 
{
   facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
   facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
   accessToken=facebook.accessToken;
   date=facebook.expirationDate;
}
 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    return [ self.facebook handleOpenURL:url];
}

Facebook SSO(ログイン)viewController内:

-(IBAction)LoginClick:(id)sender {

    accesstoken=xapp.accessToken;
    date=xapp.date;
    [self fbDidExtendToken:xapp.accessToken expiresAt:xapp.date];  //For extending tokens
    NSLog(@"accesstoken:%@",accesstoken);
    if (![xapp.facebook isSessionValid]) 
    {
        [xapp.facebook authorize:permissions];
    }
    else 
    { 
        [xapp.facebook authorize: nil];

    }
}

ここでは、セッションを適切に処理できません。私の要件は、ユーザーが初めてログインし、アプリを承認する必要があることです。一度実行すると、アプリは承認を要求しないようにする必要があります。アプリを実行しています。これを解決するにはどうすればよいですか。

4

2 に答える 2

0

最新のFBGraphAPIを使用してください....このリンクを確認してください現在のアプリケーションからメール、Twitter、Facebookで共有または投稿するにはどうすればよいですか?さらなるクエリのために。この投稿には、FB、Twitter、Eメールの最新のテクニックがすべて含まれています。

于 2012-07-19T07:41:31.747 に答える
0

ログイン後にトークンをユーザーのデフォルトに保存しますか?

 // this is a delegate method of FBSessionDelegate, called after user successfully login
- (void)fbDidLogin 
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:[xapp.facebook accessToken] forKey:@"FBAccessTokenKey"];
    [defaults setObject:[xapp.facebook expirationDate] forKey:@"FBExpirationDateKey"];
    [defaults synchronize];
}
于 2012-07-19T08:15:01.510 に答える