Box api 如何以编程方式从BOX获取带有授权代码的access\u令牌?

Box api 如何以编程方式从BOX获取带有授权代码的access\u令牌?,box-api,Box Api,在阅读了box网站上的oauth文档之后,我了解了获取access_令牌和refresh_令牌的步骤,这需要授权_代码 步骤1:将Get请求发送到 步骤2:在浏览器中输入框的凭据,然后单击“允许”按钮,重定向到指定的重定向\u uri,状态=已验证&代码=授权\u代码 步骤3:现在使用步骤2中重定向url中的授权代码,可以通过编程方式获取访问令牌,方法是使用授权代码、客户端id、客户端机密向发送POST请求,然后解析返回的json响应 我的问题是:是否可以通过编程方式执行步骤1和步骤2,而不是通

在阅读了box网站上的oauth文档之后,我了解了获取access_令牌和refresh_令牌的步骤,这需要授权_代码

步骤1:将Get请求发送到

步骤2:在浏览器中输入框的凭据,然后单击“允许”按钮,重定向到指定的重定向\u uri,状态=已验证&代码=授权\u代码

步骤3:现在使用步骤2中重定向url中的授权代码,可以通过编程方式获取访问令牌,方法是使用授权代码、客户端id、客户端机密向发送POST请求,然后解析返回的json响应

我的问题是:是否可以通过编程方式执行步骤1和步骤2,而不是通过浏览器


多谢各位

当前的OAuth 2流需要用户通过浏览器,而不能通过编程完成。

可以使用cURL和第二步post cookies模拟每个表单。
第一次需要3个请求,下一次只需要一个(如果refresh\u token没有过期,否则再次需要3个)

关于模拟浏览器事务的要点是一个很好的要点,但是您需要使用更高级别的工具,如mechanize(可用于ruby、perl和python),而不是使用cURL。它将为您处理cookies,并可以通过编程遍历表单和链接。好的页面抓取和编写脚本,以订购热门音乐会门票从TicketMaster也

如果您有授权代码,那么您应该能够通过SDK获得OAuth令牌(访问令牌、刷新令牌),对吗?

为了响应aIKid,我首先要做的就是获得一个BoxClient

    BoxClient client = new BoxClient(clientId, clientSecret);

    Map<String,Object> authToken = new HashMap<String,Object>();
    authToken.put("exprires_in","3600");
    authToken.put( "token_type","bearer");
    authToken.put("refresh_token", clientRefreshToken);
    authToken.put("access_token",clientAccessToken);

    BoxOAuthToken oauthToken = new BoxOAuthToken(authToken);

    client.authenticate(oauthToken);

    return client;

现在,我正试图找出如何在用户和组上执行CRUD操作的RUD部分。

请记住,您将要将实际用户名和密码嵌入脚本可以访问的某个位置-这有点违背了OATH2的目的,因为您不必分发这些凭据。不过,我有一个类似的情况,我想要一个脚本访问内容,所以我明白了…祝贺你的第一个答案!如果你想给出一个好的答案,你可以提供如何做到这一点的信息。请详细说明,这是不清楚的。
BoxUser createdUser = new BoxUser();

BoxUserRequestObject createUserRequest = BoxUserRequestObject.createEnterpriseUserRequestObject("someEmail.domain.com", "test user");
        createdUser = client.getUsersManager().createEnterpriseUser(createUserRequest);