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

При вызове конечной точки api / user / v1 / account нашей установки 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 Ответ

0 голосов
/ 29 апреля 2020

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

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

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

  • Актив: True
  • Персонал User: True
  • Полномочия пользователя, выделить все «oauth2 |» ([токен доступа | refre sh токен] * [изменить, добавить, удалить]).

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

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

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

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

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

enter image description here

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

enter image description here

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

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

...