Ошибка Java Script при доступе к объекту - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть javaScript для обработки ответа AWS

async function getUserOfAuthenticatedUser(event) {
    let userSub = event.requestContext.identity.cognitoAuthenticationProvider.split(':CognitoSignIn:')[1]
    let request = {
        UserPoolId: 'xxxxxxxxxxxx', // Set your cognito user pool id
        Filter: `sub = "${userSub}"`,
        Limit: 1
    }
    let users = await cognitoClient.listUsers(request).promise();
    console.log("got user:", users['Users']['Attributes']);
}

Когда я выполняю код, он выдает следующую ошибку

UserCreateDate: 2018-09-10T22:58:01.414Z,
                                ^^

SyntaxError: Invalid or unexpected token
    at createScript (vm.js:74:10)
    at Object.runInThisContext (vm.js:116:10)
    at Module._compile (module.js:537:28)
    at Object.Module._extensions..js (module.js:584:10)
    at Module.load (module.js:507:32)
    at tryModuleLoad (module.js:470:12)

Если я распечатаю, пользовательский вывод будет

{ Users: 
   [ { Username: '7595c6c3-b29b-4fd5-aeb4-45c0ad2669b8',
       Attributes: [Array],
       UserCreateDate: 2018-09-10T22:58:01.414Z,
       UserLastModifiedDate: 2018-09-10T22:58:23.901Z,
       Enabled: true,
       UserStatus: 'CONFIRMED' } ] }

Как я могу получить доступ к атрибутам?

1 Ответ

0 голосов
/ 12 сентября 2018

Результатом является объект с атрибутом Users, который является массивом Objects, каждый из которых имеет атрибут Attributes, который является массивом.

Больше примеров вы можете найти в справочнике API

Чтобы получить доступ к списку атрибутов первого пользователя в возвращаемом списке:

console.log(users['Users'][0]['Attributes'])
...