Search code examples
pythondjangopython-3.4instagram-apidjango-1.8

python-instagram trouble with user_recent_media


I'm trying to use python-instagram (https://github.com/Instagram/python-instagram) to retrieve last media from user, but I'm having trouble (python3.4, python-instagram 1.3.2):

got (django StackTrace):

(404) Unable to parse response, not valid JSON.

(...)

response = wrapped_callback(request, *callback_args, **callback_kwargs) ...
▶ Local vars
(...)views.py in get_instagram_media
                media = SocialFeed.get_instagram_media(user_id) ...
▶ Local vars
(...)social_networks.py in get_instagram_media
                    recent_media, next_ = cls.instagram_api.user_recent_media(user_id=user_id, count=count) ...
▶ Local vars
(...)/lib/python3.4/site-packages/instagram/bind.py in _call
                    return method.execute() ...
▶ Local vars
(...)/lib/python3.4/site-packages/instagram/bind.py in execute
                            content, next = self._do_api_request(url, method, body, headers) ...
▶ Local vars
(...)/lib/python3.4/site-packages/instagram/bind.py in _do_api_request
                            raise InstagramClientError('Unable to parse response, not valid JSON.', status_code=response['status']) 

My code (based on project documentation/ other stackoverflow questions)

class SocialFeed:
    instagram_api = InstagramAPI(client_id=settings.SOCIAL_AUTH_INSTAGRAM_KEY, client_secret=settings.SOCIAL_AUTH_INSTAGRAM_SECRET)

    (...)

    @classmethod
    def get_instagram_media(cls, user_id, count=6):
        recent_media, next_ = cls.instagram_api.user_recent_media(user_id=user_id, count=count)
        for media in recent_media:
            print(media.caption.text)
(...)

the user_id I'm testing with is "instagram"

Also tried with token (which I got performing token flow on my browser):

instagram_api = InstagramAPI(access_token=settings.SOCIAL_INSTAGRAM_TOKEN)

What am I missing?

Thanks! :)


Solution

  • Found it, I was wrongly using user name instead of user id...xD