GAM icon indicating copy to clipboard operation
GAM copied to clipboard

gam print gal no longer works due to Google change

Open taers232c opened this issue 1 year ago • 7 comments

  • gam print contacts prints the Domain Shared Contacts
  • gam print gal print the Global Address List Both of the these commands use the Domain Shared Contacts API: https://developers.google.com/admin-sdk/domain-shared-contacts/overview

Sometime recently Google made a change and gam print gal returns this error: Temporary error: 612 - Contacts API is being deprecated. Migrate to People API to retain programmatic access to Google Contacts. See https://developers.google.com/people/contacts-api-migration., Backing off: 16 seconds, Retry: 4/10

gam print peopleprofile appears to print the User GAL but there is no way as fas as I know to print the Group GAL

taers232c avatar Oct 28 '24 22:10 taers232c

The GAL API endpoint was never officially documented and supported afaik (the url does not exist in the developer docs you linked to).

It has been turned down at this point. I'd suggest a replacement command rebuild the GAL based on Directory API and Groups APIs. Groups settings API can be used to determine if a given group should be listed in the directory/GAL or not.

What was the use case of pulling this info with GAM?

jay0lee avatar Oct 28 '24 22:10 jay0lee

It's easy to use the Directory API to list users and get the includeInGlobalAddressList field

For groups you use the Directory API to list groups but then you have to make an additional Group Settings API call per group to get the includeInGlobalAddressList field

That's a lot of API calls if you have N thousnad groups.

Ross Scroggs @.***

On Oct 28, 2024, at 3:17 PM, Jay Lee @.***> wrote:

The GAL API endpoint was never officially documented and supported afaik (the url does not exist in the developer docs you linked to).

It has been turned down at this point. I'd suggest a replacement command rebuild the GAL based on Directory API and Groups APIs. Groups settings API can be used to determine if a given group should be listed in the directory/GAL or not.

What was the use case of pulling this info with GAM?

— Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1715#issuecomment-2442778237, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCTYLYURLTUIH3VVFAVF3TZ52ZYNAVCNFSM6AAAAABQYNAXW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSG43TQMRTG4. You are receiving this because you authored the thread.

taers232c avatar Oct 28 '24 22:10 taers232c

It may be possible to batch the calls and get 1000 group settings at a time.

It'd definitely help to understand the use cases for the GAL command though.

Jay

On Mon, Oct 28, 2024, 6:28 PM Ross Scroggs @.***> wrote:

It's easy to use the Directory API to list users and get the includeInGlobalAddressList field

For groups you use the Directory API to list groups but then you have to make an additional Group Settings API call per group to get the includeInGlobalAddressList field

That's a lot of API calls if you have N thousnad groups.

Ross Scroggs @.***

On Oct 28, 2024, at 3:17 PM, Jay Lee @.***> wrote:

The GAL API endpoint was never officially documented and supported afaik (the url does not exist in the developer docs you linked to).

It has been turned down at this point. I'd suggest a replacement command rebuild the GAL based on Directory API and Groups APIs. Groups settings API can be used to determine if a given group should be listed in the directory/GAL or not.

What was the use case of pulling this info with GAM?

— Reply to this email directly, view it on GitHub < https://github.com/GAM-team/GAM/issues/1715#issuecomment-2442778237>, or unsubscribe < https://github.com/notifications/unsubscribe-auth/ACCTYLYURLTUIH3VVFAVF3TZ52ZYNAVCNFSM6AAAAABQYNAXW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSG43TQMRTG4>.

You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1715#issuecomment-2442791900, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDIZMCKNUIBCRFJJ3UFJSTZ5227BAVCNFSM6AAAAABQYNAXW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSG44TCOJQGA . You are receiving this because you were assigned.Message ID: @.***>

jay0lee avatar Oct 28 '24 23:10 jay0lee

People want to verify what groups are in the GAL.

Ross Scroggs @.***

On Oct 28, 2024, at 4:57 PM, Jay Lee @.***> wrote:

It may be possible to batch the calls and get 1000 group settings at a time.

It'd definitely help to understand the use cases for the GAL command though.

Jay

On Mon, Oct 28, 2024, 6:28 PM Ross Scroggs @.***> wrote:

It's easy to use the Directory API to list users and get the includeInGlobalAddressList field

For groups you use the Directory API to list groups but then you have to make an additional Group Settings API call per group to get the includeInGlobalAddressList field

That's a lot of API calls if you have N thousnad groups.

Ross Scroggs @.***

On Oct 28, 2024, at 3:17 PM, Jay Lee @.***> wrote:

The GAL API endpoint was never officially documented and supported afaik (the url does not exist in the developer docs you linked to).

It has been turned down at this point. I'd suggest a replacement command rebuild the GAL based on Directory API and Groups APIs. Groups settings API can be used to determine if a given group should be listed in the directory/GAL or not.

What was the use case of pulling this info with GAM?

— Reply to this email directly, view it on GitHub < https://github.com/GAM-team/GAM/issues/1715#issuecomment-2442778237>, or unsubscribe < https://github.com/notifications/unsubscribe-auth/ACCTYLYURLTUIH3VVFAVF3TZ52ZYNAVCNFSM6AAAAABQYNAXW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSG43TQMRTG4>.

You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1715#issuecomment-2442791900, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDIZMCKNUIBCRFJJ3UFJSTZ5227BAVCNFSM6AAAAABQYNAXW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSG44TCOJQGA . You are receiving this because you were assigned.Message ID: @.***>

— Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1715#issuecomment-2442891509, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCTYL4TDJM47X5CJCMBUD3Z53FPVAVCNFSM6AAAAABQYNAXW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSHA4TCNJQHE. You are receiving this because you authored the thread.

taers232c avatar Oct 29 '24 01:10 taers232c

gam config batch_size 1000 print groups fields includeinglobaladdresslist

You hit query limits failrly quickly.

Ross

Ross Scroggs @.***

On Oct 28, 2024, at 4:57 PM, Jay Lee @.***> wrote:

It may be possible to batch the calls and get 1000 group settings at a time.

It'd definitely help to understand the use cases for the GAL command though.

Jay

On Mon, Oct 28, 2024, 6:28 PM Ross Scroggs @.***> wrote:

It's easy to use the Directory API to list users and get the includeInGlobalAddressList field

For groups you use the Directory API to list groups but then you have to make an additional Group Settings API call per group to get the includeInGlobalAddressList field

That's a lot of API calls if you have N thousnad groups.

Ross Scroggs @.***

On Oct 28, 2024, at 3:17 PM, Jay Lee @.***> wrote:

The GAL API endpoint was never officially documented and supported afaik (the url does not exist in the developer docs you linked to).

It has been turned down at this point. I'd suggest a replacement command rebuild the GAL based on Directory API and Groups APIs. Groups settings API can be used to determine if a given group should be listed in the directory/GAL or not.

What was the use case of pulling this info with GAM?

— Reply to this email directly, view it on GitHub < https://github.com/GAM-team/GAM/issues/1715#issuecomment-2442778237>, or unsubscribe < https://github.com/notifications/unsubscribe-auth/ACCTYLYURLTUIH3VVFAVF3TZ52ZYNAVCNFSM6AAAAABQYNAXW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSG43TQMRTG4>.

You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1715#issuecomment-2442791900, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDIZMCKNUIBCRFJJ3UFJSTZ5227BAVCNFSM6AAAAABQYNAXW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSG44TCOJQGA . You are receiving this because you were assigned.Message ID: @.***>

— Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1715#issuecomment-2442891509, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCTYL4TDJM47X5CJCMBUD3Z53FPVAVCNFSM6AAAAABQYNAXW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSHA4TCNJQHE. You are receiving this because you authored the thread.

taers232c avatar Oct 29 '24 01:10 taers232c

Just writing that this command still exists in GAM, and throws the same error still.

hcbilleeasypark avatar May 07 '25 09:05 hcbilleeasypark

7.07.00

As of mid-October 2024, Google deprecated the API that retrieved the Global Address List.

The following commands have been eliminated.

gam info gal
gam print gal
gam show gal

taers232c avatar May 07 '25 16:05 taers232c