Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Yes, that's possible. Code for do it:</p> <pre><code>public class UploadFileGASActivity extends Activity { public final static String GAS_HELLO_WORLD = "url_to_gas_script"; public static boolean authTokenInvalidated = false; public class OnTokenAdquired implements AccountManagerCallback&lt;Bundle&gt;{ public void run(AccountManagerFuture&lt;Bundle&gt; future){ Log.v("CALLBACK","post-getAuthToken"); try { Bundle authTokenBundle = future.getResult(); if ( authTokenBundle.containsKey(AccountManager.KEY_AUTHTOKEN)){ String authTokenStr = authTokenBundle.getString(AccountManager.KEY_AUTHTOKEN); String accountName = authTokenBundle.getString(AccountManager.KEY_ACCOUNT_NAME); String accountType = authTokenBundle.getString(AccountManager.KEY_ACCOUNT_TYPE); Log.v("ACCOUNT NAME",accountName); Log.v("ACCOUNT TYPE",accountType); Log.v("TOKEN",authTokenStr); if (!authTokenInvalidated) { invalidateAuthToken("com.google",authTokenStr); authTokenInvalidated = true; Log.v("CALLBACK","authTokenInvalidated == true"); getAuthToken(); return; } else { authTokenInvalidated = false; Log.v("CALLBACK","authTokenInvalidated == false"); } HttpUtil httpUtil = new HttpUtil(); String responseStr = httpUtil.getResponseFromHttpRequest(GAS_HELLO_WORLD, authTokenStr); Log.v("GAS_HELLO_WORLD",responseStr); TextView textView = (TextView)findViewById(R.id.text_upload_file_gas); textView.setText(authTokenStr); } else { Log.v("KEY_AUTHTOKEN","non hai auth token, normal cando non hai conexion"); } if (authTokenBundle.containsKey(AccountManager.KEY_INTENT)) { Log.e("KEY_INTENT","temos KEY_INTENT"); Intent launch = (Intent)authTokenBundle.get(AccountManager.KEY_INTENT); startActivityForResult(launch,0); return; } } catch (AuthenticatorException e){ Log.e("OnTokenAdquired.run","AuthenticatorException"); } catch (IOException e){ Log.e("OnTokenAdquired.run","IOException"); } catch (OperationCanceledException e){ Log.e("OnTokenAdquired.run","OperationCanceledException"); } } } public void getAuthToken() { AccountManager accountManager = AccountManager.get(this); Bundle options = new Bundle(); OnTokenAdquired onTokenAdquired = new OnTokenAdquired(); Handler handler = new Handler(); Account[] accounts = accountManager.getAccountsByType("com.google"); String authTokenType = "oauth2:https://www.googleapis.com/auth/drive"; AccountManagerFuture&lt;Bundle&gt; future = accountManager.getAuthToken(accounts[1], authTokenType, options, this, onTokenAdquired, handler); } public void invalidateAuthToken(String accountType, String authToken){ AccountManager accountManager = AccountManager.get(this); accountManager.invalidateAuthToken(accountType, authToken); } protected void onActivityResult(int requestCode, int resultCode, Intent data) { //Activity.RESULT_OK; Bundle extras = data.getExtras(); Set&lt;String&gt; keys = extras.keySet(); Iterator&lt;String&gt; iter = keys.iterator(); Log.v("KEY_INTENT","requestCode: "+requestCode+", resultCode: "+resultCode); Log.v("KEY_INTENT","EXTRAS KEY_INTENT"); while (iter.hasNext()){ Log.v("KEY_INTENT",(String)iter.next()); } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_upload_file_gas); Log.v("GAS","UploadFileGASActivity called."); getAuthToken(); } } </code></pre> <p>And, in HttpUtil:</p> <pre><code> public String getResponseFromHttpRequest(String httpRequest, String authToken) { [..] request.setHeader("Authorization", "OAuth "+authToken); [..] } </code></pre> <p>I hope it helps someone. Thanks anyway.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload