File size: 1,249 Bytes
ad91a7c
4e182e6
ad91a7c
4e182e6
ad91a7c
4e182e6
 
 
 
 
ad91a7c
4e182e6
ad91a7c
4e182e6
 
ad91a7c
4e182e6
 
 
ad91a7c
4e182e6
 
 
ad91a7c
4e182e6
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import streamlit as st
from requests_oauthlib import OAuth2Session

# ... (Load client ID and client secret securely)

# OAuth Configuration
authorization_base_url = 'https://accounts.google.com/o/oauth2/v2/auth'
token_url = 'https://www.googleapis.com/oauth2/v4/token'
redirect_uri = 'your_huggingface_spaces_app_url' 
scopes = ['https://www.googleapis.com/auth/webmasters.readonly']

# ... (Streamlit UI - similar to before)

if st.button("Fetch Data"):
    google_oauth = OAuth2Session(client_id, scopes=scopes, redirect_uri=redirect_uri)

    # Step 1: User authorization
    authorization_url, state = google_oauth.authorization_url(authorization_base_url, access_type="offline", prompt="select_account")
    st.write("Please authenticate with Google:", authorization_url)

    # Step 2: Handle redirect and fetch tokens (modify after user clicks the button)
    redirect_response = st.text_input("Paste the full redirect URL here:")
    token = google_oauth.fetch_token(token_url, client_secret=client_secret, authorization_response=redirect_response)

    # Step 3: Use token in API requests
    credentials = google_oauth.authorized
    service = build('webmasters', 'v3', credentials=credentials)
    # ... (rest of your API request logic)