尝试创建共享时 ShareFile REST API 错误 400

问题描述

我正在尝试为现有文件创建共享。

当我尝试读取结果时总是出现错误 400 (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));)

任何帮助将不胜感激

谢谢

    String fileId = uploadFile(token,parentId,baos,fileName,fileData.length);
    
    URL url = new URL(String.format("https://%s/sf/v3/Shares/Send",ShareFileUploader.getHostname(token)));
    connection = (HttpURLConnection) url.openConnection();
    connection.setRequestMethod("POST");
    ShareFileUploader.addAuthorizationHeader(connection,token);
    connection.addRequestProperty("Content-Type","application/json");
    connection.setDoOutput(true);
    
    connection.connect();
    
    Map<String,Object> share = new HashMap<String,Object>();
    share.put("Items",String.format("[\"%s\"]",fileId));
    share.put("Emails","[ \"user@email.com\"]");
    share.put("RequireLogin",false);
    share.put("RequireUserInfo",false);
    share.put("ExpirationDays",2);
    share.put("MaxDownloads",2);
    share.put("SendAnon",true);
    share.put("UsesstreamIDs",false);
    share.put("Subject","File");
    share.put("Body","New file");
    
    Gson gson = new Gson();
    String body = gson.toJson(share);
    
    connection.getoutputStream().write(body.getBytes());

BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));

也试过了

String fileId = uploadFile(token,fileData.length);

URL url = new URL(String.format("https://%s/sf/v3/Shares?notify=false",getHostname(token)));
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
ShareFileUploader.addAuthorizationHeader(connection,token);
connection.addRequestProperty("Content-Type","application/json");
connection.setDoOutput(true);

connection.connect();

Map<String,Object>();
share.put("ShareType","Send");
share.put("Items",String.format("[{ \"Id\":\"%s\" }]",fileId));
share.put("Recipients","[{ \"User\": { \"Email\": \\\"user@email.com\\\" } } ]");
share.put("ExpirationDate","\""+ sdf.format(new Date(System.currentTimeMillis()+(1000*60*60*24*7)))+"\"");
share.put("Parent",parentId));
share.put("RequireLogin",false);
share.put("RequireUserInfo",false);
share.put("MaxDownloads",2);
share.put("Title",true);
share.put("UsesstreamIDs",false);

Gson gson = new Gson();
String body = gson.toJson(share);

connection.getoutputStream().write(body.getBytes());

BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...