当前位置: 首页 > 知识库问答 >
问题:

grant_type参数无效或在获取新访问令牌以处理过期的访问令牌时缺少参数

慕容昊焜
2023-03-14

我在使用Box获取新访问令牌时出错。

{"error":"invalid_request","error_description":"Invalid grant_type parameter or parameter missing"}

下面是获取新框访问令牌的文档。

curl https://www.box.com/api/oauth2/token -d 'grant_type=refresh_token&refresh_token={valid refresh token}&client_id={your_client_id}&client_secret={your_client_secret}' -X POST

我将grant_typerefresh_token作为相同的刷新令牌传递。如果两者都不同,那么我需要为grant_type和refresh_token传递值。

共有1个答案

岳嘉良
2023-03-14

我有办法了,

 NSString* refresh =your refresh token;

NSString* clientId =[NSString stringWithFormat:@"%@",[BoxSDK sharedSDK].OAuth2Session.clientID];
NSString* clientSecret =[NSString stringWithFormat:@"%@", [BoxSDK sharedSDK].OAuth2Session.clientSecret];

ASIFormDataRequest *postParams = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"https://www.box.com/api/oauth2/token?"]];

[postParams setRequestMethod:@"POST"];

[postParams setPostValue:@"refresh_token" forKey:@"grant_type"];
[postParams setPostValue:refresh forKey:@"refresh_token"];
[postParams setPostValue:clientId forKey:@"client_id"];
[postParams setPostValue:clientSecret forKey:@"client_secret"];

[postParams startAsynchronous];
postParams.delegate = self ;
postParams.userInfo = [NSDictionary dictionaryWithObject:@"accessToken" forKey:@"id"];

NSLog(@"Url is ---> %@",postParams.url);
 类似资料:
  • 我正在尝试使用艾玛迪斯使用Postman测试API获取访问令牌,但它返回错误作为响应。你能帮我哪里有些东西丢失或不正确。 网址: https://test.api.amadeus.com/v1/security/oauth2/token?grant_type=client_credentials 回应:

  • 根据谷歌关于使用服务账户的文档,这是我目前所做的。 > 使用以下有效负载创建JWT(json web令牌)。 使用Postman,我做了http post,如下所示,希望得到oAuth2访问令牌。 网址: https://www.googleapis.com/oauth2/v4/token 标题: 相反,我得到了如下错误响应。 有人能找到我的请求有什么问题吗? 我甚至尝试了“https://acc

  • 目前访问类型处于联机状态。当我需要访问驱动器上的文件/文件夹时,我将浏览器重定向到Google URL并获得访问代码: 一切运转良好!但我只需要第一次重定向。 当我谷歌时,在google Drive API文档中,我发现我可以通过浏览器重定向获得刷新令牌,并将其保存在数据库中。(换句话说,我可以使用脱机访问)。 而且每次当我需要从google drive读取数据时,我使用刷新令牌获得访问令牌,而无

  • 文档(http://developers.box.com/oauth/)建议使用POSTMAN或curl。 在本例中,clientID是123,秘密代码是456,以此类推。 我在获得步骤1中的代码后的30秒内完成所有这些操作。 错误为{“error”:“invalid_request”,“error_description”:“无效的grant_type参数或缺少参数”} 我尝试过的其他方法:添加

  • 获取访问令牌的文档中的第一步是“将用户引导到我们的授权URL”。那到底是什么意思?没有提供链接或任何东西。它还说“公司名称、联系电子邮件和隐私政策URL是开始提交的必要条件。”我们的应用程序没有隐私政策...只是一个简单的标签提要。我不明白为什么有一个简单的标签提要那么复杂。 是否有一个等待时间来获得批准的应用程序..如果它得到批准...在获得访问令牌之前,我必须获得批准吗?这在任何地方都没有概述

  • 我如何从第一次授权代码中获得刷新令牌和访问令牌?并且,我如何重用这个刷新令牌来获得一个新的访问令牌,以便使用Java API上传到Google Drive?这不是一个web应用程序。它在Java Swing代码中。