from flask import Flask, request, redirect, jsonify
import requests

app = Flask(__name__)

# Endpoint untuk menangani pengalihan dari Instagram setelah login
@app.route('/auth/instagram/callback')
def instagram_callback():
    code = request.args.get('code')  # Mendapatkan authorization code dari URL
    if code:
        # Tukar authorization code dengan access token
        access_token_data = get_access_token(code)
        return jsonify(access_token_data)  # Menampilkan data token untuk debugging (sebaiknya simpan dengan aman)
    else:
        return "Error: No code provided", 400

# Fungsi untuk menukar authorization code dengan access token
def get_access_token(code):
    url = "https://api.instagram.com/oauth/access_token"
    data = {
        'client_id': '1903549280181650',  # Ganti dengan client_id Anda
        'client_secret': 'c6ccf9fa16a53362c738c0620df3030d',  # Ganti dengan client_secret Anda
        'grant_type': 'authorization_code',
        'redirect_uri': 'https://api.serenity-ai.biz.id/auth/instagram/callback',
        'code': code  # authorization code yang diterima
    }
    response = requests.post(url, data=data)
    return response.json()  # Ini akan memberikan access token

if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=5222)  # Menjalankan server Flask 
