🔧 Programmierung 🕛 vor 4 Monaten 6 Min Lesezeit
0

Google OAuth 2.0 vs Service account: Which one should you use?

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht

Authentication plays a crucial role in fetching real data from Google platforms like Gmail, Google Ads, Google Analytics, etc. When you try to authenticate your account to fetch data via API, you need to follow some steps. But there are two methods you can use. Both methods do the same job in authentication.



In this guide, we’ll see about two methods and how to generate an access token using them.






Tow methods




  1. OAuth client 2.0


  2. Service account












































Feature Client 2.0 Service Account
Acts as Behalf of a user application itself
Requires user login? Yes ✔ No ❌
Best for User facing apps server to server or automation apps
Credentials Clinet ID and Client secret needed JSON key file
Token type Access token and refresh token Only access token
Token expiry Expire after every hour Don’t expire untill revoke





Prerequesites




  • Google Cloud console account with the email ID .


  • Search for “Google OAuth Platform,” select it, and click “Clients.”


  • If you created a new project, then it goes to the project configuration page. Clearly fill in all the details. If you choose an existing project, then create a new client directly


  • After creating a client, it shows the JSON file to download. Download it and save it somewhere.









  • Step 2: Exchange the authorization code for an access token



    Here, replace your code.




    CODE
    from google_auth_oauthlib.flow import Flow
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    flow = Flow.from_client_secrets_file(
    "Google_Analytics_Cred.json",
    scopes=["https://www.googleapis.com/auth/analytics.readonly"],
    redirect_uri="YOUR_REDIRECT_URI"
    )
    flow.fetch_token(code=auth_code)
    creds = flow.credentials
    print(creds) //print(creds.token) print(creds.refresh_token)






    From this, you can get your access token.






    Method 2: Access token via Service account



    You can use a service account when your app doesn’t need user interaction. It is actually a server-to-server, with no user involvement. It represents an application, not a user.






    How it works




    1. Open Google Cloud project (You can use the same project you created for OAuth 2.0)


    2. Create a service account and download the JSON key file.


    3. Google verifies the signature using your public key in the JSON file and returns an access token.


    4. Call Google APIs directly







    Generate JSON key file



    Here, we use Python code to generate an access token with the JSON key file.




    1. Open Google Cloud Console. Open an existing project or create a new one.


    2. Search for “I AM Admin” and select “Service Account” from the side menu.


    3. Click the “Create new Service account” button



    4. Fill all the necessary fields. Your service account has been created. Then click the created account.








      Generating an access token



      Store your downloaded private JSON key file in your code folder. Here’s the Python code




      CODE
      import google.auth
      import google.auth.transport.requests
      from google.oauth2 import service_account

      # Path to your service account JSON key file
      SERVICE_ACCOUNT_FILE = "service-account-key.json"

      # Define the scopes your app needs
      SCOPES = ["https://www.googleapis.com/auth/analytics.readonly"]

      # Load credentials from the key file
      credentials = service_account.Credentials.from_service_account_file(
      SERVICE_ACCOUNT_FILE,
      scopes=SCOPES
      )

      # Request the access token
      request = google.auth.transport.requests.Request()
      credentials.refresh(request)

      # ✅ Your access token
      print("Access Token:", credentials.token)
      print("Expires At:", credentials.expiry)






      Replace your credential file path. From this code, you can access an access token. Using that access token you can directly pull out the data from the Google Analytics dashboard, and it never expires.



      Both methods look similar, but you should understand where to use which method. It makes your way clear. Both access tokens work to fetch data. If you have any doubts or suggestions, post them in the comment section.

      Vollständiger Original-Artikel
      Den kompletten Beitrag mit allen Details direkt auf dev.to lesen.
      ↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
2 Quellen
CVE-2024-45058 | portabilis i-educar up to 2.8 Setting educar_usuario_cad.php authorization
1 Quelle
Kompakte 10.000-mAh-Powerbank für weniger als 10 Euro bei Amazon Haul
1 Quelle
Bessere Grafik in Spielen: So steigern Sie die Bildqualität ohne FPS-Verlust
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Google OAuth 2.0 vs Service account: Which one should you use?

Thematisch verwandte Begriffe: Google, OAuth, Service, account · 6 Treffer

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...