
final res = await account.createOAuth2Session(
provider: AuthProvider.google.name,
scopes: ['profile', 'email'],
);
I have this code to create session with that provider but I want to have name or email return, but in my case it returns null. So why do I need return values after create session? It because I need to trigger a function
await functions.createExecution(
functionId: newUserFunctionId,
data: jsonEncode(data),
xasync: true,
);
Since the appwrite still have issue on event trigger when creating a new account with google provider

If your goal is to do something with a function when a user is created, I recommend executing the function on session creation as well. Then, you can check if this is an oauth session and if an account was just created

Otherwise, the user should be passed to the function that the user executes. You can use the users API to get the user and that should have the email and name

The last option is to call account.get() client side.

alright thanks steve

{$id: 64ebf33b0a2b366370c2, $createdAt: 2023-08-28T01:07:07.069+00:00, userId: 64ebf33ac92690731d4a, expire: 2024-08-27 01:07:07.041, provider: google, providerUid: 101926932913220533651, providerAccessToken: ya29.a0AfB_byAcBR1WhRteyjfI9gIDZKqaY5IofjFQElwwQgD-yG2WyGXBUk87Lf5uRoMl5jYqnAoFjkDvsM7fqhGTt91XUotpU51uczwQMyCU3zIWk2AN38qCnz5EXTwnSzXnLJhrjrXhWQRQs1MYEIa5U3bBCeVAqWnEYuLUy-bDaCgYKARoSARISFQHsvYls0vuU9cOPARVTM_cvpTotNw0175, providerAccessTokenExpiry: 2023-08-28T02:07:06.041+00:00, providerRefreshToken: , ip: 158.62.81.232, osCode: AND, osName: Android, osVersion: 10, clientType: browser, clientCode: CM, clientName: Chrome Mobile, clientVersion: 116.0, clientEngine: Blink, clientEngineVersion: 116.0.0.0, deviceName: smartphone, deviceBrand: , deviceModel: , countryCode: ph, countryName: , current: false}
Invalid document structure: Missing required attribute "name"
I just do the execte when session creation, I just try to print the payload
final payload = jsonDecode(req.variables['APPWRITE_FUNCTION_EVENT_DATA']);
print(payload);
There is no email or name of the user

Right...you would need to fetch the user

Ohhh I seee
Recommended threads
- Sites 30MB limit from GitHub
I’m deploying a site from github as Other type on the Hobby plan. It is actually a Flutter web app but it’s in a subdirectory with the root being an html landin...
- Function running in cloud but not locall...
Hi everyone, I have an appwrite function which is on python3.12 runtime. I have a library (hnswlib) which builds wheels during installation. This works on appwr...
- Permissions for bulk operation
Hi team, I have a question: “In the databases.createDocuments bulk API, can I set document-level permissions? If yes, how exactly should I include the permissio...
