Currently there is no way to call gapi.auth.authorize with immediate set to false through the GAPI object. This means apps that have never been authorized by the user cannot be authorized, unless the GAPI object is bypassed.
There should be a GAPI.init option or a different method to enable this functionality.