ZKForce を使用して、Sales Force をアプリに統合しています。今までは成功していましたが、リフレッシュ トークンに関する問題に直面しています。
アプリケーションから営業部隊にログインするときは、次のことを行っています。
- (void)loginResult:(ZKLoginResult *)result error:(NSError *)error
{
if (result && !error)
{
NSLog(@"session id is %@",result.sessionId);
[SFAccountManager sharedInstance].coordinator.credentials.accessToken = result.sessionId;
NSLog(@"Login Successful");
}
else if (error)
{
UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Connection failed" message:@"Failed connecting to server. Please try again" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
[myAlertView show];
}
}
ここでは、アクセス トークンを設定するだけで、リフレッシュ トークンを設定していません。
サンプルの案件メモアプリをダウンロードしたところ、ログインに成功すると以下のようになっています。
- (void)loginOAuth:(FDCOAuthViewController *)oAuthViewController error:(NSError *)error
{
if ([oAuthViewController accessToken] && !error)
{
NSLog(@"Logged in to Salesforce");
[[FDCServerSwitchboard switchboard] setClientId:kSFOAuthConsumerKey];
[[FDCServerSwitchboard switchboard] setApiUrlFromOAuthInstanceUrl:[oAuthViewController instanceUrl]];
[[FDCServerSwitchboard switchboard] setSessionId:[oAuthViewController accessToken]];
[[FDCServerSwitchboard switchboard] setOAuthRefreshToken:[oAuthViewController refreshToken]];
NSLog(@"oauth token is %@",[oAuthViewController accessToken]);
NSLog(@"oauth token is %@",[oAuthViewController refreshToken]);
[self.splitViewController dismissModalViewControllerAnimated:YES];
[self.oAuthViewController autorelease];
// STEP 3 b - Save OAuth data after login
[self saveOAuthData: oAuthViewController];
[self didLogin];
}
else if (error)
{
[CaseMemoAppDelegate errorWithError:error];
}
}
ここでは、更新トークンを設定しています。
では、コードからリフレッシュ トークンを取得するにはどうすればよいでしょうか。私を助けてください。ありがとうございました