Box API 2.0 Set shared_link возвращает 404

Недавно я играл с API Box.com версии 2.0.

Согласно официальному описанию в этом документе, я могу установить «доступ» на «Открыть» для файла успешно.

Однако, если я изменю его на «компания» или «сотрудники», сервер вернет ответ о том, что HTTP 404 не найден, как показано ниже.

{
   "type":"error",
   "status":404,
   "code":"not_found",
   "help_url":"http:\/\/developers.box.com\/docs\/#errors",
   "message":"Not Found",
   "request_id":"609097837503b1dabc4d0c"
}

И я не могу понять, что именно означает «не найдено» под этим сообщением.

Это тело запроса, которое я отправил, в порядке

{
   "shared_link":{
      "access":"Open",
      "permissions":{
         "download":true,
         "preview":true
      }
   }
}

Это тело запроса, которое возвращает мне ошибку

{
   "shared_link":{
      "access":"company",
      "permissions":{
         "download":true,
         "preview":true
      }
   }
}

Мне интересно, это что-то, что я не должен делать, или это просто ошибка в API.

Заранее спасибо за любой ответ.

================================

Некоторое обновление вопроса.

Я боюсь, что это не проблема, связанная с регистром, хотя пример в документе, когда я видел, что они используют заглавные буквы «Открыть».

В моей ситуации, используя «Открыть» или «Открыть», я могу без проблем установить ссылку на ресурс.

Однако поведение следующих случаев мне немного странно.

Случай 1: установка обоих свойств (загрузка и предварительный просмотр) в разрешениях на false возвращает 404 (установка только одного из них на true работает правильно)

{
   "shared_link":{
      "access":"Open",
      "permissions":{
         "download":false,
         "preview":false
      }
   }
}

В следующих случаях для иллюстрации я сначала устанавливаю «Доступ» как «Открыть».

Случай 2: установка "Доступ" к "Соавторы" возвращает 404 не найдено

Случай 3: Установка «доступа» для «сотрудников» Работает нормально, но ответ json неправильно показывает «доступ» как «сотрудников».

Ниже приводится выдержка из ответа случая 3, «доступ» по-прежнему «открыт».

    shared_link": {
    "url": "https://www.box.com/s/03a47eb4b7dce0439d7f",
    "download_url": "https://www.box.com/shared/static/03a47eb4b7dce0439d7f.pdf",
    "password_enabled": false,
    "unshared_at": null,
    "download_count": 0,
    "preview_count": 0,
    "access": "Open",
    "permissions": {
        "download": true,
        "preview": true
    }

«Компания» кажется такой же, как и в предыдущих случаях, поэтому я останавливаюсь здесь.

И из любопытства я установил «доступ» к произвольным символам, отличным от тех, которые указаны в документе (я пробовал такие слова, как «pp», «c», «test»), интересно, что сервер, кажется, все возвращает 200: OK, но json ответ остается «доступ»: «Открыть». Скорее запутанно.


person Azu    schedule 27.08.2012    source источник


Ответы (1)


Оказывается, параметр «доступ» был чувствителен к регистру. Теперь мы исправили это, так что «Открыть» и «Открыть» и т. д. оба работают.

Оказывается, вы также раскрываете пару сложных пограничных случаев, связанных с обменом файлами. Вы можете установить некоторые параметры безопасности, такие как параметр «Свойства папки: Безопасность», который говорит «Разрешить общие ссылки только соавторам».

введите здесь описание изображения

Оказывается, если вы установили этот параметр, этот API вызывает для установки «доступ» на «открыть», мы вернем 404. Мы будем работать над тем, чтобы сделать эту ошибку более информативной (например, 403, доступ запрещен ).

Что касается остальных случаев.

случай 1: наш веб-интерфейс запрещает вам устанавливать некоторые из этих комбинаций (например, download=false и preview=false), потому что, когда мы создавали функции обмена, мы не думали, что будет иметь смысл иметь незагружаемый файл без предварительного просмотра.

случай 2 (и часть случая 3): установка «Соавторы» или «Соавторы» теперь должна работать нормально. Ошибка была исправлена.

случай 3: при выборе "co" или "foo" по умолчанию использовалось значение "Open". Теперь мы изменили это, чтобы возвращать ошибку (снова 404).

Надеюсь, это поможет.

person Peter    schedule 27.08.2012
comment
Боюсь, это не проблема, связанная с делом. Я обновил свой вопрос для получения дополнительной иллюстрации. - person Azu; 28.08.2012