简体   繁体   English

python-instagram OAuthPermissionsException

[英]python-instagram OAuthPermissionsException

So I'm trying to get Instagram photos that fit certain parameters and I'm getting the following stack: 因此,我试图获取适合某些参数的Instagram照片,并获得以下堆栈:

Traceback (most recent call last):
  File "instagram_find_shows.py", line 83, in <module>
    if __name__ == "__main__": main()
  File "instagram_find_shows.py", line 48, in main
    get_instagram_posts(show_name, show_time, coordinates)
  File "instagram_find_shows.py", line 73, in get_instagram_posts
    str(coordinates[1]), min_time, max_time)
  File "C:\Users\User Name\Anaconda3\lib\site-packages\instagram\bind.py", line 197, in _call
    return method.execute()
  File "C:\Users\User Name\Anaconda3\lib\site-packages\instagram\bind.py", line 189, in execute
    content, next = self._do_api_request(url, method, body, headers)
  File "C:\Users\User Name\Anaconda3\lib\site-packages\instagram\bind.py", line 163, in _do_api_request
    raise InstagramAPIError(status_code, content_obj['meta']['error_type'], content_obj['meta']['error_message'])
instagram.bind.InstagramAPIError: (400) OAuthPermissionsException-This request requires scope=public_content, but this access token is not authorized with this scope. The user must re-authorize your application with scope=public_content to be granted this permissions.

The code is as follows: 代码如下:

def get_instagram_posts(name, time, coordinates):
    max_time_dt = time + timedelta(hours=3)
    min_time_dt = time - timedelta(hours=1)

    max_time = str(calendar.timegm(max_time_dt.timetuple()))
    min_time = str(calendar.timegm(min_time_dt.timetuple()))

    dist_rad_str = str(insta_dist_radius_m)
    count_str = str(insta_count)

    api = InstagramAPI(access_token=insta_access_token, 
        client_secret=insta_client_secret)

    r = api.media_search(name, count_str, str(coordinates[0]),
        str(coordinates[1]), min_time, max_time)

    photos = []

    for media in r:
        photos.append('<img src="%s"/>' % media.images['thumbnail'].url)

    print(photos[0])

I can't figure out what to do... Literally I'm just trying to do a simple test, not trying to cripple their API. 我不知道该怎么办...从字面上看,我只是在尝试做一个简单的测试,而不是在削弱其API。 Is there any way to do this within Instagram's parameters? 有没有办法在Instagram的参数范围内做到这一点? Thanks so much! 非常感谢!

通过在浏览器中转到以下URL进行了修复:

https://www.instagram.com/oauth/authorize?client_id=[CLIENT_ID]&redirect_uri=[REDIRECT_URI]&response_type=code&scope=basic+public_content+follower_list+comments+relationships+likes

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM