我正在尝试为onedrive文件访问创建一个新的共享链接。
这就是我应该做的,
POST /drive/items/{item-id}/action.createLink
Content-Type: application/json
{
"type": "view"
}
我已在ruby中创建了一个帖子请求,如下所示,
require 'net/http'
require 'json'
uri = URI.parse("https://api.onedrive.com/v1.0")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
req = Net::HTTP::Post.new("https://api.onedrive.com/v1.0/drive/items/file.88e469b2d4c51142.88E469B2D4C51142!113/action.createLink")
req.content_type = "application/json"
json = {:type=> "view"}.to_json
req.body = json
response = http.request(req)
puts response.body
puts response
通过运行上面的代码我得到以下错误为JSON,
{
"error": {
"code": "invalidArgument",
"message": "ObjectHandle is Invalid",
"innererror": {
"code": "badArgument",
"innererror": {
"code": "invalidObjectHandle",
"innererror": {
"code": "invalidResourceId"
}
}
}
}
}
我的第一印象是我使用错误的JSON值设置request.body如何克服此错误?
答案 0 :(得分:1)
您提供的ID(file.88e469b2d4c51142.88E469B2D4C51142!113)不是此API的有效ID。它看起来很像从LiveConnect API获得的,并且与这个新API不兼容。如果您使用新的api获取id并使用相同的查询,则应该可以使用。