Facebook Graph API - «Неверный токен доступа к OAuth», несмотря на использование допустимого токенаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Facebook Graph API - «Неверный токен доступа к OAuth», несмотря на использование допустимого токена

Сообщение Anonymous »

Я пытаюсь использовать API Graph Facebook с Python, чтобы получить доступ к данным профиля пользователя, публикациям и фотографиям. Несмотря на создание достоверного токена доступа через Graph API Explorer, я продолжаю получать ошибку: < /p>


c: \ users \ projects \ projects \ AutomateeveryThingpython \ AcessingApis> Python Crameio2.py nicianco executy em 2025-07-1011111111111111111111111111. /> < /blockquote>
🔍 ovendo perfil do usuário ... ❌ erro ao obter perfil: unsupported
get запрос. Объект с идентификатором 'me' не существует, не может быть загружен из -за
в пропущенные разрешения или не поддерживает эту операцию. Пожалуйста,
Прочтите документацию API Graph по адресу
https://developers.facebook.com/docs/graph-api
📝 Povendo postagens ... ❌ erro ao obter postagens: unpopported get
запрос. Объект с идентификатором «я» не существует, не может быть загружен из -за пропущенных разрешений
или не поддерживает эту операцию. Пожалуйста, прочитайте
документация по API Graph по адресу
https://developers.facebook.com/docs/graph-api
🖼 ovendo fotos ... ❌ erro ao obter fotos: unsuppoded Получите запрос. операция Please read the Graph
API documentation at https://developers.facebook.com/docs/graph-api
🏁 Execução concluída!
C:\Users\ferre\Projects\AutomateEverithingPython\AcessingAPIs>

Вот мой текущий код: < /p>
import requests
import json
import facebook
from datetime import datetime

# Configurações
ACCESS_TOKEN = "EAA....Removed for security question" # Substitua pelo novo token
BASE_URL = "https://graph.facebook.com/v13.0"

def get_user_profile():
"""Obtém informações básicas do perfil"""
try:
url = f"{BASE_URL}/me?fields=id,name,email&access_token={ACCESS_TOKEN}"
response = requests.get(url)
data = json.loads(response.text)

if 'error' in data:
print(f"❌ Erro ao obter perfil: {data['error']['message']}")
return None
return data
except Exception as e:
print(f"❌ Erro inesperado: {str(e)}")
return None

def get_user_posts():
"""Obtém as postagens do usuário"""
try:
url = f"{BASE_URL}/me/posts?fields=id,message,created_time&access_token={ACCESS_TOKEN}"
response = requests.get(url)
data = json.loads(response.text)

if 'error' in data:
print(f"❌ Erro ao obter postagens: {data['error']['message']}")
return None
return data
except Exception as e:
print(f"❌ Erro inesperado: {str(e)}")
return None

def get_user_photos():
"""Obtém as fotos do usuário"""
try:
url = f"{BASE_URL}/me/photos?fields=id,images&access_token={ACCESS_TOKEN}"
response = requests.get(url)
data = json.loads(response.text)

if 'error' in data:
print(f"❌ Erro ao obter fotos: {data['error']['message']}")
return None
return data
except Exception as e:
print(f"❌ Erro inesperado: {str(e)}")
return None

def download_photo(photo_url, filename):
"""Baixa uma foto e salva localmente"""
try:
response = requests.get(photo_url)
with open(filename, 'wb') as file:
file.write(response.content)
print(f"✅ Foto salva como {filename}")
except Exception as e:
print(f"❌ Erro ao baixar foto: {str(e)}")

if __name__ == "__main__":
print(f"🕒 Iniciando execução em {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")

# 1. Obter perfil do usuário
print("\n🔍 Obtendo perfil do usuário...")
profile = get_user_profile()
if profile:
print("👤 Perfil do usuário:")
print(f"ID: {profile.get('id')}")
print(f"Nome: {profile.get('name')}")
print(f"Email: {profile.get('email', 'Não disponível')}")

# 2. Obter postagens
print("\n📝 Obtendo postagens...")
posts = get_user_posts()
if posts and 'data' in posts:
print(f"📚 Total de postagens: {len(posts['data'])}")
for i, post in enumerate(posts['data'][:3], 1): # Mostra apenas 3 postagens
print(f"\n📌 Postagem {i}:")
print(f"ID: {post.get('id')}")
print(f"Data: {post.get('created_time')}")
print(f"Mensagem: {post.get('message', 'Sem texto')[:50]}...")

# 3. Obter fotos
print("\n🖼️ Obtendo fotos...")
photos = get_user_photos()
if photos and 'data' in photos:
print(f"📸 Total de fotos: {len(photos['data'])}")
if photos['data']:
first_photo = photos['data'][0]
print("\n📷 Primeira foto:")
print(f"ID: {first_photo.get('id')}")
print(f"URL da imagem: {first_photo['images'][0]['source'][:50]}...")

# 4. Baixar uma foto
print("\n⬇️ Baixando foto...")
photo_url = first_photo['images'][0]['source']
download_photo(photo_url, "foto_facebook.jpg")

print("\n🏁 Execução concluída!")
< /code>
Почему токен работает в Graph Api Explorer, но не в моем коде Python? (Хотя это сразу же не удается с новыми токенами)
Есть ли способ отладить процесс проверки токена? /> < /p>

Подробнее здесь: https://stackoverflow.com/questions/796 ... valid-toke
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»