Почему при вызове конечной точки api/user/v1/accounts в установке edX не всегда указываются имя и адрес электронной почты?

Вызывая конечную точку api/user/v1/accounts нашей установки edX для некоторых пользователей, я получаю больше информации, чем другие пользователи, однако пользователи определяются аналогично. Есть идеи, что настроено неправильно?

Для сравнения, это то, что ожидается:

{
    "username": "xapitest",
    "bio": null,
    "requires_parental_consent": true,
    "name": "Xapi Test",
    "secondary_email": null,
    "country": null,
    "social_links": [],
    "is_active": true,
    "profile_image": {
        "image_url_full": "https://online.xxxedx.com/static/images/profiles/default_500.4215dbe8010f.png",
        "image_url_large": "https://online.xxxedx.com/static/images/profiles/default_120.4a5e0900098e.png",
        "image_url_medium": "https://online.xxxedx.com/static/images/profiles/default_50.3455a6581573.png",
        "image_url_small": "https://online.xxxedx.com/static/images/profiles/default_30.deee7287e843.png",
        "has_image": false
    },
    "extended_profile": [],
    "year_of_birth": null,
    "level_of_education": null,
    "accomplishments_shared": false,
    "goals": "",
    "language_proficiencies": [],
    "gender": null,
    "account_privacy": "private",
    "mailing_address": "",
    "email": "xapitest@xxxedx.com",
    "date_joined": "2020-04-27T14:49:58Z"
}

И вот что я получаю с другим пользователем:

{
    "username": "Rolrox",
    "bio": null,
    "accomplishments_shared": false,
    "country": "HU",
    "social_links": [],
    "profile_image": {
        "image_url_full": "https://online.xxxedx.com/static/images/profiles/default_500.4215dbe8010f.png",
        "image_url_large": "https://online.xxxedx.com/static/images/profiles/default_120.4a5e0900098e.png",
        "image_url_medium": "https://online.xxxedx.com/static/images/profiles/default_50.3455a6581573.png",
        "image_url_small": "https://online.xxxedx.com/static/images/profiles/default_30.deee7287e843.png",
        "has_image": false
    },
    "time_zone": null,
    "language_proficiencies": [],
    "account_privacy": "all_users",
    "date_joined": "2020-04-28T10:25:59Z"
}

В последнем отсутствует name а также email.

1 ответ

Проблема вызвана разрешениями пользователя, которые используются для обработки вызовов xapi.
Когда вы впервые определяете пользователя, по крайней мере, для нас, мы создали эту учетную запись с помощью oauth2. Мы зашли на xyzedx.com/admin/oauth2/client.

Это предоставит вам идентификатор клиента и секрет клиента.

Однако мы не смогли затем управлять разрешениями этого пользователя. Их можно установить на xyzedx.com/admin/auth/user. Там нужно установить:

  • Активный: Верно
  • Штатный пользователь: Верно
  • Разрешения пользователей, выделите все "oauth2|" ( [токен доступа | обновить токен] * [изменить, добавить, удалить]).

Для тестирования мы использовали Postman. Если вы не знаете, как использовать его, когда вам нужен токен доступа, то вот как это делается.

Для следующего примера вызовите на работу:

https://xxxedx.com/api/user/v1/accounts/jbloggs

С помощью метода GET в заголовке HTTP-запроса указывается: - accept: application/json - content-Type: application/json

Затем установите вкладку Авторизация, в частности, выбрав OAuth 2.0, а также Get new Access Token.

Здесь вы предоставите учетные данные, полученные из конфигурации EdX Oauth2:

Вам необходимо настроить это, чтобы добавить токен в "Заголовок" (это создаст еще одну запись в вашей таблице "Заголовок"; а затем выберите Use Token.

Затем вы Send звонок.

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