Yoctol/bottender

[LINE] Cannot get displayName from context.session.user.

jsdryan opened this issue · 3 comments

My code:
2021-06-06_01-29-41

displayName is undefined, and context.session.user has only id and _updatedAt properties.
2021-06-06_01-29-22

How can I get more information about user?

Bottender didn't get profiles from platform automatically now. If you want to get profile from the use, use context.getProfile() explicitly.

https://bottender.js.org/docs/en/api-line-context#profile-api---official-docshttpsdeveloperslinemeendocsmessaging-apireferenceget-profile
https://developers.line.biz/en/reference/messaging-api/#get-profile

Bottender didn't get profiles from platform automatically now. If you want to get profile from the use, use context.getProfile() explicitly.

https://bottender.js.org/docs/en/api-line-context#profile-api---official-docshttpsdeveloperslinemeendocsmessaging-apireferenceget-profile
https://developers.line.biz/en/reference/messaging-api/#get-profile

Thank you!
I can get displayName now by using the code:

const { displayName } = await context.getUserProfile();

Instead of:

const { displayName } = context.session.user;

But I'm wondering why author can get displayName from context.session.user:
2021-06-06_14-18-18
https://ithelp.ithome.com.tw/articles/10222978

https://github.com/Yoctol/bottender/releases/tag/v1.0.0

[breaking] rename skipProfile to skipLegacyProfile, and set to true by default

This was a breaking change introduced in v1.0.0. Bottender before v1 will automatically get profile and put that into session.user. That option is disabled by default after v1 release.