Код: Выделить всё
import os
import google.auth
import google_auth_oauthlib.flow
import googleapiclient.discovery
import googleapiclient.errors
# Ruta al archivo de credenciales OAuth 2.0 que descargaste
CREDENTIALS_FILE = 'cred.json'
# ID del blog donde vas a publicar (lo puedes encontrar en la URL de tu blog en Blogger)
BLOG_ID = '2045983628813599998'
def authenticate_blogger_api():
"""Autentica y crea un cliente de la API de Blogger"""
# Definir los alcances que vamos a usar (escribir y leer entradas)
SCOPES = ['https://www.googleapis.com/auth/blogger']
# Carga de credenciales desde el archivo
flow = google_auth_oauthlib.flow.InstalledAppFlow.from_client_secrets_file(CREDENTIALS_FILE, SCOPES)
# Ejecuta el flujo de OAuth 2.0 para autenticar al usuario
creds = flow.run_local_server(port=0)
# Crear un cliente de la API de Blogger
service = googleapiclient.discovery.build('blogger', 'v3', credentials=creds)
return service
def create_blog_post(service, blog_id, title, content):
"""Crea una nueva entrada en Blogger"""
# Crear el cuerpo de la nueva entrada
post = {
'kind': 'blogger#post',
'title': title,
'content': content
}
# Usar la API para insertar la entrada en el blog
try:
posts = service.posts()
result = posts.insert(blogId=blog_id, body=post).execute()
print(f"Entrada publicada con éxito: {result['url']}")
except googleapiclient.errors.HttpError as error:
print(f"Ocurrió un error: {error}")
if __name__ == '__main__':
# Autenticación a la API de Blogger
service = authenticate_blogger_api()
# Título y contenido de la nueva entrada
title = "Mi primera entrada desde Python"
content = "Hola Mundo desde Python
Este es un post creado automáticamente usando la API de Blogger.
"
# Crear la entrada en el blog
create_blog_post(service, BLOG_ID, title, content)
Ошибка 400: redirect_uri_mismatch
отказано в доступе, что я делаю не так?
эти некоторые учетные данные из json
Код: Выделить всё
"redirect_uris": ["https://localhost:8080/"]
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
i put 2 google acounts in the oauth proyect but it doesnt work
Подробнее здесь: https://stackoverflow.com/questions/791 ... post-to-bl