import streamlit as st import requests import json import pprint # Function to fetch data from Google Knowledge Graph def fetch_data(query, api_key, limit): url = f"https://kgsearch.googleapis.com/v1/entities:search?query={query}&key={api_key}&limit={limit}" response = requests.get(url) json_data = json.loads(response.text) return json_data # Streamlit UI st.title('Google Knowledge Graph Search') # Try to fetch API key from secrets.toml api_key = st.secrets.get("gkg", {}).get("api_key") if isinstance(st.secrets.get("gkg", {}), dict) else None # If not found, ask for it if not api_key: api_key = st.text_input('Enter your Google API Key:', type="password") search_query = st.text_input('Enter Search Query:', 'Python Programming') output_count = st.slider('Number of Results:', min_value=1, max_value=10, value=1) if st.button('Search'): if api_key: result = fetch_data(search_query, api_key, output_count) try: # Pretty-print the entire JSON response to display all outputs st.subheader("Full JSON Response") st.write(pprint.pformat(result)) except: st.write('No results found.') else: st.write('API key is missing.')