Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Storing Access token, Google+ integration Android App

I am new to android and i started with importing sample app from GooglePlayServices in the android SDK. The app "Plus" allows me to sign-in using G+ credentials. The Sample code is using GoogleApiClient.

This authenticates the App only on client. How do i send access token to my server Or store the access token in to my shared preferences??

Someone please Explain me which file i should add access token code to.?


1 Answers

I am assuming that you are able to login to GooglePlus successfully.Do something like below to get the AccessToken and store it using SharedPreference,

SharedPreferences SharedPreference;    
Editor editor;

    private class GetGoogleAuthTask extends AsyncTask<Void, Void, String>  {
             @Override
             protected String doInBackground(Void... params) {
                 String token = null;

                 try {
                     token=GoogleAuthUtil.getToken(User_SignUp.this,Plus.AccountApi.getAccountName(mGoogleApiClient),"oauth2:"+Scopes.PLUS_LOGIN+" "+Scopes.PLUS_ME); //Change the permissions as per your need.
                 } catch (IOException transientEx) {
                     // Network or server error, try later
                     Log.e(TAG, transientEx.toString());
                 } catch (UserRecoverableAuthException e) {
                     // Recover (with e.getIntent())
                     Log.e(TAG, e.toString());
                    // Intent recover = e.getIntent();
                    // startActivityForResult(recover, REQUEST_CODE_TOKEN_AUTH);
                 } catch (GoogleAuthException authEx) {
                     // The call is not ever expected to succeed
                     // assuming you have already verified that 
                     // Google Play services is installed.
                     Log.e(TAG, authEx.toString());
                 }

                 return token;
             }

             @Override
             protected void onPostExecute(String token) {

                 if(token!=null)
                 {
                  Log.i(TAG, "Access token retrieved:" + token);
                  SharedPreference = getApplicationContext().getSharedPreferences("TokenPreference", 0); 
                  editor = SharedPreference.edit();
                  editor.putString("access_token",token);                               
                  editor.commit();                      

                 }

             }

         }

Use below snippet where you need to get the accesstoken,

new GetGoogleAuthTask().execute();
like image 175
Spring Breaker Avatar answered Jan 22 '26 21:01

Spring Breaker