es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El cliente Tweepy.like() arroja AttributeError: el objeto ‘NoneType’ no tiene el atributo ‘partition’.

Regarding the documentación de tweepy para utilizar la API de Twitter v2, debería poder dar like a un tweet con el siguiente código.

import tweepy
from keys import keys

# Obtención del bearer token para desarrolladores de Twitter
client = tweepy.Client(bearer_token=keys["bearer_token"])

# Función para dar like a los tweets
def like_tweets():
    like = client.like(1466906017120153601)
    print(like)

like_tweets()

He intentado pasar el ID del tweet tanto como una cadena de texto como un número entero. He verificado manualmente la corrección del ID del tweet y también he probado con diferentes ID de tweets. Pero siempre obtengo el siguiente error:

File "C:\Users\myname\pathtopython\Python\Python37\site-packages\tweepy\client.py", line 387, in like
id = self.access_token.partition('-')[0]
AttributeError: 'NoneType' object has no attribute 'partition'

¿Tienes alguna idea o sugerencia sobre cómo resolver este problema?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Según el mensaje de error, parece que hay un problema con el token de acceso. El método client.like() requiere un token de acceso para autenticar la solicitud a la API, y el error sugiere que el token podría estar ausente.

    Una cosa que debes verificar es si el diccionario keys en la línea from keys import keys contiene una clave access_token válida. El AttributeError sugiere que el valor de access_token podría ser None, lo que provoca el fallo del método partition().

    Otra cosa que puedes intentar es utilizar el método create_favorite() en lugar de like(). Según la documentación de Tweepy, create_favorite() es el método recomendado para dar “me gusta” a un tweet en la API v2. Aquí tienes un ejemplo:

    def like_tweets():
        response = client.create_favorite('1466906017120153601')
        print(response)
    
    like_tweets()
    

    Este código utiliza create_favorite() en lugar de like(), y pasa el ID del tweet como una cadena en lugar de un entero. Ten en cuenta que el método create_favorite() devuelve la respuesta JSON del servidor de la API, lo que puede ser útil para solucionar problemas si aún existen.

    Si ninguna de estas soluciones funciona, podría ser útil verificar la documentación de Tweepy y los problemas en GitHub para ver si hay errores o limitaciones conocidas con los métodos like() o create_favorite(). Alternativamente, puedes intentar comunicarte con la comunidad de Tweepy en Twitter u otros foros para pedir ayuda.

Comments are closed.