
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
- What’s the current approach for always o...
Read that it’s not a thing out of the box, but what’s the possible setup here?
- Type String is not a subtype of type int...
In flutter using appwrite: ^17.1.0, ```DocumentList response = await databases!.listDocuments( databaseId: "xxx", collectionId: "xxx", ...
- Query.equal error
Hi guys. I'm using Appwrite Cloud, and I'm using version 21 of node-appwrite to benefit from transactions. The problem is I seem to be getting an error when I u...
