Spaces:
Runtime error
Runtime error
import requests | |
from flask import Flask, redirect, request, render_template | |
from urllib.parse import quote | |
app = Flask(__name__) | |
#Salesforce OAuth2 configuration | |
client_id = 'x'; | |
client_secret = 'y'; | |
redirect_uri = 'http://localhost:4000/oauth2/callback'; | |
salesforce_login_url = 'https://login.salesforce.com'; | |
api_version = 'v56.0' | |
def index(): | |
# Generate the authorization URL | |
authorization_url = f'{salesforce_login_url}/services/oauth2/authorize?response_type=code&client_id={client_id}&redirect_uri={quote(redirect_uri)}&scope=api' | |
return render_template('index.html', authorization_url=authorization_url) | |
def oauth_callback(): | |
authorization_code = request.args.get('code') | |
# Exchange the authorization code for an access token | |
token_url = f'{salesforce_login_url}/services/oauth2/token' | |
token_data = { | |
'grant_type': 'authorization_code', | |
'code': authorization_code, | |
'client_id': client_id, | |
'client_secret': client_secret, | |
'redirect_uri': redirect_uri | |
} | |
token_response = requests.post(token_url, data=token_data) | |
token_response.raise_for_status() | |
token_json = token_response.json() | |
access_token = token_json['access_token'] | |
instance_url = token_json['instance_url'] | |
# Example: Make a request to Salesforce REST API | |
api_endpoint = f'{instance_url}/services/data/{api_version}/query?q=SELECT+Id,Name+FROM+Account' | |
headers = { | |
'Authorization': f'Bearer {access_token}' | |
} | |
api_response = requests.get(api_endpoint, headers=headers) | |
api_response.raise_for_status() | |
accounts = api_response.json()['records'] | |
return render_template('result.html', accounts=accounts) | |
#if __name__ == '__main__': | |
# app.run(port=4000) | |