Hello Vaibhav,
Sorry for the late answer but I was away.
You can use the refresh token as many times as you want, as long as
the user doesn't revoke its validity. Every access token expires after
3600 seconds, so for example you'd need to refresh the access token
every hour if you wanted to execute the script hourly.
About your second question, it is better from the perspective of users
accessing their personal data using 3rd party applications. With OAuth
2.0 they don't have to give their username/password to the developer
of the external application, as they log in on a Google server and
then grant authorization to the 3rd party application. When they don't
want to use the application anymore, they can revoke the validity of
the refresh token.
Let us know if you have any additional questions!
Cheers,
Silvano
--
Silvano Luciani | Developer Programs Engineer
Google UK Limited
Registered Office: Belgrave House, 76 Buckingham Palace Road, London
SW1W 9TQ
Registered in England Number: 3977902