After creating a directory datasource the Google Admin Directory API is automatically added to app settings. However the AdminDirectory object is not usable in server side appscript. Documentation for adding the AdminDirectory object to appscript in other apps suggests the api needs to be activated via the api console. There are unfortunately no links to the project at the console from the advanced section of the app settings. The user I am using developing this app with has MANY projects in the console any of which could be one created by appmaker. Is there a way to determine which project is the one the appmaker app is associated with? Is this even what I need to do to make the AdminDirectory object available in server side scripts?
2 Answers
I run some tests and you should be able to use the AdminDirectory object after adding a Directory Datasource to your App Maker application.
To test this I created a new app in App Maker and added a Directory Datasource. Then I created a Server script and used the code available in this Apps Script Admin Directory example https://developers.google.com/apps-script/advanced/admin-sdk-directory#list_all_users (*Note that for testing purposes, I used console.log instead of Logger.log)
Then in a new Page I added a Button widget and called the server script by using google.script.run in an onClick event in the Property Editor and I was able to get (console.log) the list of all users in my domain. Note that in order to call a server script, you will need to use google.script.run as explained here https://developers.google.com/appmaker/scripting/client#call_a_server_script
Try in AM editor App Settings -> Deployments, then expand deployment you need. There you will see 'View Logs' button. Clicking the button will open Google Cloud Console for your project.
By the way, you can access directory model by querying it: var people = app.models.YourDirectoryModelName.newQuery().run();