OneDrive for Business REST API – PUT,POST – 401未经授权
我们有一个Microsoft azure
的试用版,并且正在通过来自Java客户端的REST API
按照链接使用One驱动器进行业务CRUD操作。
获取令牌后,我能够成功列出任何文件夹,下载文件并获取文件的属性。
但是,创建文件夹,上传文件,重命名文件/文件夹等所需的PUT
, POST
等操作无法正常工作。 我收到"401 UnAuthorized"
错误。
错误响应json
:
{"error":{"code":"-2147024891, System.UnauthorizedAccessException","message":"Access denied. You do not have permission to perform this action or access this resource."}}
我设置访问令牌的方式与我在http request
为GET
设置的方式类似,我使用jboss rest
easy client访问其余的API这里是“创建文件夹”的代码
ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance(); ResteasyProviderFactory.pushContext(javax.ws.rs.ext.Providers.class,factory); ResteasyClientBuilder resteasyClientBuilder = new ResteasyClientBuilder().providerFactory(factory); ResteasyClient client = resteasyClientBuilder.build(); ResteasyWebTarget target = client.target(BASE_URL +"/getByPath('/TestFolder1')"); Invocation.Builder request = target.request(); request.header("Authorization", "Bearer " + this.token); Response response = request.put(Entity.text(""));
根据文档, 401 UnAuthorized error
意味着"Required authentication information is either missing or invalid."
我错过了任何应该在请求中的标题/请求的任何其他问题吗?