Как использовать extensionId в RingCentral API с RingOut

Я могу RingOut успешно запросить:

https://platform.ringcentral.com/restapi/v1.0/account/~/extension/~/ring-out

Но когда я хочу добавить идентификатор расширения, я получаю CMN-102 ошибка (Resource for parameter [extensionId] is not found) см. пример запроса ниже:

https://platform.ringcentral.com/restapi/v1.0/account/~/extension/279580017/ring-out

Я уверен, что у меня есть правильный идентификатор, так как я хватаю extensionId из запроса ниже успешно:

https://platform.ringcentral.com/restapi/v1.0/account/~/extension

Если кто-то сталкивался с этим или может указать на возможные ловушки, я был бы очень признателен за некоторые советы.

1 ответ

Из вашего поста и полученной вами ошибки я предполагаю, что вы пытаетесь выполнить RingOut с extensionId это не авторизовало ваше приложение. Попытка сделать это приведет к полученной вами ошибке. Вот больше информации об этом.

RingOut ExtensionId Scope

API RingOut поддерживает только использование extensionId параметр пути для расширения авторизующего пользователя. Из-за этого все, что вам когда-либо нужно вызывать, это следующая конечная точка для RingOut:

POST /restapi/v1.0/account/~/extension/~/ring-out

Если вы хотите использовать явное extensionId, это должен быть extensionId, возвращаемый в следующей конечной точке:

GET /restapi/v1.0/account/~/extension/~

Если вы вызываете конечную точку с путем extensionId параметр, который не авторизовал используемый токен доступа, тогда вы получите:

Несоответствующая ошибка ExtensionId

Если вы пытаетесь выполнить RingOut с путем extensionId значение, которое не является авторизующим пользователем, вы получите статус HTTP 404 ошибка со следующим телом:

HTTP/1.1 404 Not Found

{
  "errorCode": "CMN-102",
  "message": "Resource for parameter [extensionId] is not found",
  "errors": [
    {
      "errorCode": "CMN-102",
      "message": "Resource for parameter [extensionId] is not found",
      "parameterName": "extensionId"
    }
  ],
  "parameterName": "extensionId"
}

Как выполнить RingOut для многих пользователей

Чтобы выполнить RingOut для многих пользователей в настоящее время, вам необходимо выполнить одно из следующих действий:

  • Каждый пользователь должен будет выполнить авторизацию в вашем приложении, либо через всплывающее окно входа в систему с помощью кода авторизации OAuth 2.0, либо с помощью неявного предоставления.
  • альтернативно, вы можете запросить у них пароли для выполнения авторизации с предоставлением паролей OAuth 2.0.

На наших учетных записях GitHub доступно несколько демонстрационных приложений OAuth 2.0:

Запрос об улучшении

Если вам нужна возможность вызывать RingOut для любого пользователя без активного сеанса, сообщите нам об этом, и мы сможем рассмотреть его как расширение возможностей. Лучший способ - войти в наше Сообщество с помощью своей учетной записи RingCentral и разместить запрос здесь:

https://devcommunity.ringcentral.com/ringcentraldev

Другие вопросы по тегам