python instagram api user_recent_media 返回 None

标签 python instagram instagram-api

查看documentation

api.user_recent_media(userid='1034466',count=1)

返回

([], None)

要做什么?

附:顺便说一句,从 http://jelled.com/instagram/lookup-user-id 获取用户 ID

最佳答案

基本上,您应该使用 user_id 而不是 userid

但是,我可能会帮助您进一步完成您想要做的事情,因为几周前我已经做了同样的事情(从用户那里检索 Instagram 媒体):

定义:

class InstagramFeed:
    api = InstagramAPI(client_id=settings.SOCIAL_AUTH_INSTAGRAM_KEY,
                       client_secret=settings.SOCIAL_AUTH_INSTAGRAM_SECRET)
    logger = logging.getLogger(__name__)

    def get_user_id(self, user_name):
        users = self.api.user_search(q=user_name)
        for user in users:
            if user_name == user.username:
                return user.id
            else:
                self.logger.error('Instagram User with username {0} NOT FOUND!', user_name)
                raise Exception('Instagram User with username {0} NOT FOUND!', user_name)

    @classmethod
    def get_media(cls, user_name, count=8):
        user_id = cls.get_user_id(cls, user_name)
        if user_id is None:
            return None

        recent_media, next_ = cls.api.user_recent_media(user_id=user_id, count=count)
        return recent_media


class InstagramEncoder(json.JSONEncoder):
    def default(self, o):
        if type(o) in (instagram.models.Comment, instagram.models.Image,
                       instagram.models.Location, instagram.models.Media,
                       instagram.models.MediaShortcode, instagram.models.Point,
                       instagram.models.Relationship, instagram.models.Tag,
                       instagram.models.User, instagram.models.Video, instagram.models.UserInPhoto,
                       instagram.models.Position):
            return o.__dict__
        elif isinstance(o, datetime.datetime):
            unix_time = time.mktime(o.timetuple())
            return str(unix_time)
        else:
            return default(o)

用法:

media = InstagramFeed.get_media(user_name=user_name, count=8)

导入(我在 django1.8 项目中使用它):

from instagram.client import InstagramAPI
from django.conf import settings
from bson.json_util import default

import json
import logging
import instagram.models
import time
import datetime

关于python instagram api user_recent_media 返回 None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32662308/

相关文章:

ios - 添加了 App Transport Security,仍然报错

ios - 在 iOS 应用程序中使用 Instagram sdk 获取标记的人

PHP Instagram 友谊/创建/错误

python - 如何通过单击列标题按列对 QTableWidget 进行排序?

javascript - Instagram API 用于过滤基于标签的图像

python - Cassandra 和 Django

android - 尝试从 Instagram 获取照片时出现 CertPathValidatorException

Instagram API 不返回关注者

python - 使用与传递的变量相同的函数参数名称

python - 检测路由是否不是最外层/错误的 Flask 装饰器的 "order"