Я пытаюсь создать новую ссылку для доступа к файлу onedrive.Ошибка при отправке запроса HTTP?
Это то, что я должен делать,
POST /drive/items/{item-id}/action.createLink
Content-Type: application/json
{
"type": "view"
}
Я создал пост запрос в рубин, как следовать,
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"
}
}
}
}
}
Мое первое впечатление, что я устанавливаю request.body с неправильным значением o f JSON как преодолеть эту ошибку?
'invalidResourceId' предполагает, что ваш идентификатор элемента не существует на сервере. – Satya