【问题标题】:OAuth Refresh Token Process for salesforce SDKSalesforce SDK 的 OAuth 刷新令牌流程
【发布时间】:2014-11-13 15:52:08
【问题描述】:

谁能帮我在 saleforce 上刷新令牌。

NSDictionary *fields = @{@"grant_type" : @"refresh_token",
                         @"refresh_token": oauth[@"refreshToken"],
                         @"client_id": coordinator.credentials.clientId,
                         @"format": @"json"
                         };
SFRestRequest *request = [SFRestRequest requestWithMethod:SFRestMethodPOST path:[NSString stringWithFormat:@"%@/services/oauth2/token",[SFAccountManager loginHost]] queryParams:fields];
request.endpoint = [NSString stringWithFormat:@"%@/services/oauth2/authorize", [SFAccountManager loginHost]];

[[SFRestAPI sharedInstance] sendRESTRequest:request failBlock:^(NSError *e) {

    NSLog(@"Error %@", e);

} completeBlock:^(NSDictionary* dict) {

    NSLog(@"dict");

}];

这是我想要做的,但我收到以下错误:

Error Domain=NSURLErrorDomain Code=404 “操作无法完成。(NSURLErrorDomain 错误 404。)” UserInfo=0x7993c670 {Transfer-Encoding=Identity, Content-Type=text/html;charset=UTF-8,日期=格林威治标准时间 2014 年 11 月 13 日星期四 15:23:36}

我不确定出了什么问题。 仅供参考:Understanding the OAuth Refresh Token Process

这是请求:

endpoint: test.salesforce.com/services/oauth2/authorize 
method: POST 
path: test.salesforce.com/services/oauth2/token 
queryParams: {"grant_type":"refresh_token","refresh_token":"5AsdfdfssdBuiV6yFNukUqDSMUH1tnk39L.x0GFcdqdMhpmQUTu.wv1BNndfglD3SxEZIFUev4i8T2KLkcCOK","format":"json","client_id":"3MVG9dPGzsddfssfdsOQG3p9KW.2hh3Bh5BeEsdfsRlDhxcybG.YRTQC0C0XayvzEw.5.umftLwJpYjYVDE6xgSCgXo"} 

【问题讨论】:

  • 请先在邮递员中尝试,然后发布结果/截图。

标签: ios salesforce


【解决方案1】:

我停止使用 Salesforce 和 NSURL Kit,而是使用 AFHTTPREQUEST

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
    [dict setObject:@"password" forKey:@"grant_type"];
    [dict setObject:@"xxx" forKey:@"client_id"];
    [dict setObject:@"xxx" forKey:@"client_secret"];
    [dict setObject:@"your user" forKey:@"username"];
    [dict setObject:@"password" forKey:@"password"];
    [dict setObject:@"json" forKey:@"format"];

[manager POST:@"https://test.salesforce.com/services/oauth2/token" parameters:dict success:^(AFHTTPRequestOperation *operation, id responseObject)
    {
        NSLog(@"JSON: %@", responseObject);

    } failure:^(AFHTTPRequestOperation *operation, NSError *error)
    {

    }];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 2017-11-20
    • 2017-09-06
    • 2016-03-31
    • 2012-12-21
    • 2015-06-27
    相关资源
    最近更新 更多