如何使用java sdk在框中创建共享链接

时间:2016-08-22 05:49:43

标签: java box-api box

任何人都可以帮我了解如何使用java SDK在BOX中创建共享链接。我使用下面的代码: -

BoxFile file = new BoxFile(api, ID);
BoxSharedLink.Permissions permissions = new BoxSharedLink.Permissions();
permissions.setCanDownload(true);
permissions.setCanPreview(true);
Date unshareDate = new Date();
BoxSharedLink sharedLink = file.createSharedLink(
                BoxSharedLink.Access.OPEN, unshareDate, permissions);

得到错误: -

The API returned the error code: 400

{"type":"error","status":400,"code":"bad_request","context_info":{"errors":[{"reason":"invalid_parameter","name":"unshared_at","message":"Invalid value '1471842735'."}]},"help_url":"http:\/\/developers.box.com\/docs\/#errors","message":"Bad Request","request_id":"208420399157ba89af5e170"}

2 个答案:

答案 0 :(得分:0)

我刚刚通过" null"代替unsharedDate ..我能够获得共享链接。

BoxSharedLink sharedLink = file.createSharedLink(                 BoxSharedLink.Access.OPEN,null,permissions);

我不确定null值的含义。我猜测如果传递null则没有unsharedDate设置。无法找到任何api文档。

答案 1 :(得分:0)

private static BoxSharedLink createSharedLink(BoxAPIConnection api, String fileId) {
    BoxFile file = new BoxFile(api, fileId);
    BoxSharedLink.Permissions permissions = new BoxSharedLink.Permissions();
    permissions.setCanDownload(true);
    permissions.setCanPreview(true);
    Date date = new Date();

    Calendar unshareAt = Calendar.getInstance();
    unshareAt.setTime(date);
    unshareAt.add(Calendar.DATE, 14);

    BoxSharedLink sharedLink = file.createSharedLink(BoxSharedLink.Access.COMPANY, unshareAt.getTime(), permissions);
    logger.info("shared link: " + sharedLink.getURL());
    return  sharedLink;
}