Hope this helps Time to upgrade your dependencies. Email::Gmail::Send depends on Net::SMTP::SSL which depends on IO::Socket::SSL. The first step I take to solving this type of problem is to upgrade the module dependencies just in case a new issue has already been addressed.
t/public_suffix_lib_uri.t ......... ok
failed to connect: An operation was attempted on something that is not a socket. at t/public_suffix_ssl.t line 87.
# Looks like you planned 24 tests but ran 2.
# Looks like your test exited with 10038 just after 2.
this will help I am getting inbox messages using Gmail API in my c# ASP.net application. All messages are from different time zones(states/countries), I wanna display there date in my own time zone as it displays in Gmail App. I searched a lot for conversion between timezones but can't solve it may be i am not getting it properly.
//Some epoch time in ms
var gmail_date = 1512007768005;
//Get DateTime of epoch ms
var to_date = DateTimeOffset.FromUnixTimeMilliseconds(gmail_date).DateTime;
//This is your timezone offset GMT +8
var offset = 8;
Console.WriteLine(to_date - new TimeSpan(offset *-1, 0, 0));
Which api of G-Suite(Calendar,Gmail,Drive) can get gmail address for all staff when use administrator account?
from __future__ import print_function
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
# If modifying these scopes, delete the file token.pickle.
SCOPES = ['https://www.googleapis.com/auth/admin.directory.user']
"""Shows basic usage of the Admin SDK Directory API.
Prints the emails and names of the first 10 users in the domain.
creds = None
# The file token.pickle stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
with open('token.pickle', 'rb') as token:
creds = pickle.load(token)
# If there are no (valid) credentials available, let the user log in.
if not creds or not creds.valid:
if creds and creds.expired and creds.refresh_token:
flow = InstalledAppFlow.from_client_secrets_file(
creds = flow.run_local_server()
# Save the credentials for the next run
with open('token.pickle', 'wb') as token:
service = build('admin', 'directory_v1', credentials=creds)
# Call the Admin SDK Directory API
print('Getting the first 10 users in the domain')
results = service.users().list(customer='my_customer', maxResults=10,
users = results.get('users', )
if not users:
print('No users in the domain.')
for user in users:
if __name__ == '__main__':
Obtaining `gmail.compose` privileges for single G Suite email account to send emails via GMail API
seems to work fine It turns out that you can have an "internal", rather than a client facing "public" app, for which all GMail scopes are automatically available. Here is the response from the Google team that describes the steps (it worked for me):