嗨,我正在尝试从网页上将用户登录到Box.com。 我用一个简单的HTML表单提交完成了第一部分:

<form action="https://www.box.com/api/oauth2/authorize" type="POST" enctype="application/x-www-form-urlencoded">
    <input type="text" name="response_type" value="code">
    <input type="text" name="client_id" value="[REMOVED]">
    <input type="text" name="state" value="vexhax97td8xf_SomeTemporaryValueForTesting">
    <input type="submit">
</form>

这可以正常工作,我可以使用javascript从查询参数中获取授权代码。 然后,我尝试使用相同的方法获取访问代码(auth代码是由javascript在页面加载时设置的):

<form action="https://app.box.com/api/oauth2/token" type="POST" enctype="application/x-www-form-urlencoded">
    <input type="text" name="grant_type" value="authorization_code">
    <input id="auth-code" type="text" name="code" value="">
    <input type="text" name="client_id" value="[REMOVED]">
    <input type="text" name="client_secret" value="[REMOVED]">
    <input type="submit">
</form>

但是我收到“无效的grant_type参数或参数丢失”错误。 另外,无论如何,显示响应json都不是一个好的用户体验。 我尝试了没有enctype="application/x-www-form-urlencoded"并得到了相同的错误。

Box教程使用curl来做到这一点,而这显然不是网页上的选择。 如何获取访问令牌而不会出现“ Invalid ...”错误,有没有办法通过后台的JavaScript来实现?

#1楼 票数:0

对于访问令牌交换的授权码,缺少“ redirect_uri”参数。 但这不是真正的问题。

交换应该在服务器端进行,而您是在客户端(浏览器)进行交换。 也许您可以通过AJAX调用进行交换,以正确处理JSON答复,但前提是box.com允许CORS(我对此表示怀疑)。

这样,您还将在网页上公开client_id和client_secret(因此,为什么不愿意将其发布在stackoverflow上?)。

  ask by Joels Elf translate from so

未解决问题?本站智能推荐:

1回复

关于从BOX返回的图片的缩略图

在旧的BOX API中,我已将缩略图显示为此方法。 <img src="https://api.box.com/2.0/files/{file_ID}/thumbnail.png?access_token={token}"> 然而,最近,缩略图的拍摄失败。 似乎BOX的响
2回复

Box用ajax获取访问令牌

我需要在ajax中获取访问令牌,以下示例在Curl中,我如何在ajax调用中进行相同操作? curl https://www.box.com/api/oauth2/token \\ -d'grant_type = authorization_code&code = {your_code}&c
2回复

如何在BoxAPI中获得授权然后获得访问令牌

如何使用C#控制台或库项目在Box API中进行授权然后获得访问令牌。 我尝试过授权API,但它返回HTML。 我只需要THE_AUTHORIZATION_CODE,以便可以将其传递到Token API中以获取access_token 。 还是可以像开发人员令牌一样通过Web门户获得企业
1回复

使用有效的用户访问令牌调用BoxAPI

我正在使用 JWT 对 Box API 进行身份验证,因为我不希望我的用户必须使用他们的凭据显式登录(就像您必须使用 OAuth2 一样)。 我的问题是用户访问令牌的有效期仅为 60 秒。 那么,这是否意味着每次我向 Box API 发出请求(例如 - 遍历某些文件夹以查找特定文件)时,我都需要请求
2回复

box.netAPIoauth刷新令牌,无需编码

我有box.net API client_id和client_secret。 我想为某个Box帐户获取刷新令牌,但我不想为其创建应用程序。 获取API刷新令牌并开始使用API​​的最简单方法是什么? 也许有一些应用程序可以输入我的client_id,client_secret密钥,然后执
1回复

在Box.com上获取上传文件的URL

我已经能够使用Box API使用C#程序成功上传文件Sample.pdf。 (client_id,client_secret,代码,POSTMAN等) 上传后,我只是想知道如何在C#程序中检索公共URL来访问此文件? 我以为sharedlink是一种方法,但是我不确定如何。 谢谢
1回复

如何使用Box-SDK使用版本号和fileID获取以前版本的BoxFileVersion对象?

我可以使用下面的代码获取该文件的当前版本? 现在我想获取给定版本号的BoxFileVersion对象,在下面的代码中我试图获取该文件的先前版本,但我无法获得特定版本的VERSION NUMBER
1回复

使用BOXAPI(BOX.com)获取所有锁定的文件

我试图找到一种解决方案来搜索/列出BOX(BOX.com)中的所有锁定文件。 由于似乎无法通过用户界面实现,因此我研究了Rest API。 我找不到使用API​​搜索所有锁定文件的方法。 我无法遍历该API。 我无法使用“ fields = lock”作为参数进行通配符搜索。 目前