ahmdrz / goinsta

Unofficial Instagram API written in Golang
MIT License
895 stars 247 forks source link

User.Follow() strange behaviour #223

Open danijel-bjelancevic opened 5 years ago

danijel-bjelancevic commented 5 years ago

Hi, first of all I want to thank you for this awesome project.

I have an issue with User.Follow()

log.Println("Following...") err := media.Items[0].User.Follow() errors.Check(err) log.Printf("Followed %s", media.Items[0].User.Username)

What happens is that user is not followed at all and the err stays nil

When I debug the actual Follow() method, this is the response it's getting:

{ "friendship_status":{ "following":false, "followed_by":false, "blocking":false, "muting":false, "is_private":false, "incoming_request":false, "outgoing_request":false, "is_bestie":false }, "status":"ok" }

I am using a saved session to log in (Export() and Import() methods). Not sure if I am doing something wrong? Note that few days ago it was working fine. Also, I am not following users too fast or something. My app is sleeping for a minute in average between 2 follows.

Thanks for your help in advance.

Edit: Just to add, I've tried to delete the session and do a fresh login, but it still happens.

danijel-bjelancevic commented 5 years ago

I've just realized that the user I was using didn't have validated email. When I verified the email, it started working again, but it is still an issue because it was working before even with the unvalidated email. Not sure if this is related, but should be investigated for sure.

danijel-bjelancevic commented 5 years ago

Hi, did you guys manage to replicate this? It's now happening again, for example image is liked, comment is made, but follow didn't happen.

aristotaloss commented 5 years ago

Yeah, following doesn't seem to work. Likes work fine, follows don't.

danijel-bjelancevic commented 5 years ago

But the strangest thing is that sometimes it works and sometimes it doesn't, but I cannot find out the reason since it's kind of happening randomly

aristotaloss commented 5 years ago

@danijel-bjelancevic I did some comparing to the PHP API by mgp25 and there was a missing field indicating wifi status. Thought, even after adding that, it still won't work. Library by mgp25 works fine, but it's PHP so I refuse.

I'll try to find what the issue here is.

danijel-bjelancevic commented 5 years ago

@Velocity- Thanks, let me know if you discover something or need any help.

ahmdrz commented 5 years ago

So, your problem is to send a follow-request to someone. Isn't? I'll check it ASAP.

danijel-bjelancevic commented 5 years ago

I figured out that this was a "follow block" from instagram. It happens when you either go too aggressively or when you are making requests from blacklisted IP address. Also, most of the data center IP's have high probability to get this. So you can either close this or check if we can implement something in the Follow() function which would recognise this and return appropriate error.