The issue here is that Instagram has changed its terms of use and Wolfram's redirect URI no longer works.
I went into the paclet itself to tweak things:
FileNameJoin[{ PacletFind["ServiceConnection_Instagram"][[1]]["Location"], "Kernel", "Instagram.m" }] // SystemOpen
I made compatibility changes that would have fixed it if they had a valid redirect URI then reloaded:
Quiet[ Once[OAuthClient`Private`oauthservicedata["Instagram"]] =.; ]; ServiceConnections`Private`findandloadServicePaclet["Instagram"];
But when you run it you get this response:
{"error_type": "OAuthException", "code": 400, "error_message": "Redirect URI does not match registered redirect URI"}
I then tried to make my own app on Instagram, because I could trivially port over what Wolfram had to my own server space on the cloud, but Instagram's captcha system is borked up (it seems like this is a common occurrence for them) and couldn't do it.
So once that's fixed, here's how you can patch it.
Step 1, register your own app with Instagram
Go here and fill out the form: https://www.instagram.com/developer/clients/register/
It'll ask you for a redirect URI. Feel freem to use mine:
https://www.wolframcloud.com/objects/b3m2a1/o/oauthflow/oauth2callback-access_token
Step 2, copy the current paclet
Duplicate this directory:
PacletFind["ServiceConnection_Instagram"][[1]]["Location"]
Step 3, tweak the core paclet file
You'll need to update the "ClientID", "RedirectURI", and "Scope" basically. The first two are obvious. The last can only be "basic" per Instagram's new terms of use.
Step 4, update the PacletInfo.m file
Increment the "Version" so yours is loaded preferentially
If you don't want to do all this, comment on this sometime when Instagram's CAPTCHA system isn't glitchy anymore and I'll take 20 minutes to make an updated version of the paclet and stick it on my paclet server.
ServiceConnect["Instagram"]I get the ServiceConnect::disc message: "Due to restrictions added by Instagram, this service is currently not available". $\endgroup$