Firstly, after some research I found out that many people have faced this issue but I did not find any concrete solution to this. Coming to the issue,
Objective: I want to integrate google drive with my app so that user can upload files to their drive from my app. So user first has to integrate their drive with the app and then subsequently use google picker to upload/import files. Once Google drive is integrated user should not see auth screen again instead directly google picker should open on click of a button.
Implementation: While integrating I am using OAuth2 in server side and storing client credentials which is following
{
access_token: '',
refresh_token: '',
scope: 'https://www.googleapis.com/auth/drive.file https://www.googleapis.com/auth/userinfo.email openid',
token_type: 'Bearer',
expiry_date: 1578194339897
}
Now in the client side I am fetching same access token and using to load picker
createPicker() {
const { accessToken } = this.props.userInfo;
const uploadView = new google.picker.DocsUploadView();
var picker = new google.picker.PickerBuilder().
addViewGroup(
new google.picker.ViewGroup(google.picker.ViewId.DOCS).
addView(google.picker.ViewId.DOCUMENTS).
addView(google.picker.ViewId.PRESENTATIONS)
).
addView(uploadView).
setOAuthToken(accessToken). //access token fetched from server
setDeveloperKey(developerKey).
setCallback(this.pickerCallback).
build();
picker.setVisible(true);
}
Expected behaviour: Google picker should open on click of a button.

I have tried using sign in option to fetch current user, but it fails to get the current user. Apart from this I have also tried to do client side authorization using gapi but it also ask for auth screen every time I try to load picker
Any help appreciated. Thanks in advance.