wevote / WeVoteServer

We Vote's API application server written in Django/Python. Election data pulled from many sources, used by https://github.com/wevote/WebApp and https://github.com/wevote/WeVoteCordova and https://github.com/wevote/Campaigns.
https://api.wevoteusa.org
MIT License
50 stars 449 forks source link

Research the instagram API #1280

Closed DaleMcGrew closed 1 year ago

DaleMcGrew commented 4 years ago

Investigate the instagram API, and analyze what it would take to do the following. What we would like to do is: 1) Sign in with instagram 2) Request a photo from an instagram account via API 3) Search instagram for possible candidate matches (like how we do with Twitter)

If you need to run tests, please set up a new app called "import_export_instagram" and look for design patterns in "import_export_twitter".

utsab commented 3 years ago

@DaleMcGrew can you assign this issue to me? I would be happy to take this on.

JuanSuria1 commented 2 years ago

@DaleMcGrew can you assign this issue to me as well. I am participating on a summer internship from codeday labs. Me and my team have be assigned with this issue.

MarMiranda-12345 commented 2 years ago

@DaleMcGrew, my team, @JuanSuria1 and @HoldenLiu, and I looked into the issue and found out that we could only request images from instagram. Bullet points one, 'Sign in with instagram', seem to be not possible since, "As of March 31, 2020, Facebook turned off the Instagram legacy APIs in favor of a new set of APIs: Instagram Graph API and Instagram Basic Display API" in which "Facebook requires applications to implement Facebook Login for authentication. Facebook will not approve applications that use the Instagram Basic Display API for authentication." And three, 'Search instagram for possible candidate matches (like how we do with Twitter)', seem to also be not possible since there does not seem to be a way to search 'possible candidate matches (like how we do with Twitter).' We were able to 'Request a photo from an instagram account via API' through the instagrapi library on GitHub. Would you like us to implement 'Request a photo from an instagram account via API,' specifically through the instagrapi library? Is it possible to recommend an api or send us some documentation on how the part one and three can be accomplished.

DaleMcGrew commented 2 years ago

Hello @sorryForDisappointing, yes I would love it for you to implement an example of using https://github.com/adw0rd/instagrapi to retrieve a profile photo from a particular Instagram account. Thank you!

These are a few candidates you can use as examples for retrieving their profile photo: https://www.instagram.com/aaronforstate/ https://www.instagram.com/soucyforctrep/

MarMiranda-12345 commented 2 years ago

image

`from instagrapi import Client cl = Client()

example1 = 'aaronforstate' example2 = 'soucyforctrep'

cl.login("USERNAME", 'PASSWORD') # login instagram account

print("***USER_PROFILE_INFO**") print(cl.user_info_by_username(example1)) # this is just to show the info

print("***aaronforstate**") instagram_user1 = cl.user_info_by_username(example1) # returns a USER, specifically 'aaronforstate' print(instagram_user1.profile_pic_url) # get user profile picture URL

print(instagram_user1.profile_pic_url_hd) # better quality image

print("***soucyforctrep**") instagram_user2 = cl.user_info_by_username(example2) # returns a USER, specifically 'soucyforctrep' print(instagram_user2.profile_pic_url) # get user profile picture URL

print(instagram_user2.profile_pic_url_hd) # better quality image`

Hello @DaleMcGrew, here is the example. Would you like @JuanSuria1, @holdenliu and I to implement it? If so, could you specify where in the codebase?

tranngocsongtruc commented 2 years ago

@DaleMcGrew Hi Dale, could you assign this issue to me? I would like to take it on. Thank you

tranngocsongtruc commented 1 year ago

@DaleMcGrew Hi Dale, may I ask what information you would like to get from Instagram for creating a model purpose? I am using the fields of the model in import_export_twitter as a reference as well but I am just wondering.

DaleMcGrew commented 1 year ago

Hi @tranngocsongtruc, we are in the final stretch before the November 8, 2022 election. My apologies but we will have to discuss after we get through this election (the team is slammed with final work before the election).