I am thinking on a project that uses insta APIs but when I signup for instagramdeveloper account I have some kinda issue with it. I cannot find a button to create new Client and when I hit Manage client button this is what I got:
when I hit Registration Disabled button Nothing Happens. Is that mean am I ban from an Instagram developer account? please note I haven't created any kind of Client ID since I created an Instagram developer account.
OR was this some kinda bug? How can I report my issue to the Instagram support team? your suggestions are appreciated:)
I dont know why my registration button is disabled too. Maybe Instagram api update. But I realize this guide and It works for me. https://developers.facebook.com/docs/instagram-basic-display-api/getting-started
Updated :
In my case, i am using webview in android. So, below is the example code : (Ignore the Dialog, you can implement only webview and its onpagefinished method)
public class AuthenticationDialog extends Dialog {
private String TAG = AuthenticationDialog.class.getSimpleName();
private AuthenticationListener listener;
private Context context;
private WebView webView;
private final String url = "https://api.instagram.com/" + "oauth/authorize/?app_id=" +
getResources().getString(R.string.app_id)
+ "&redirect_uri="
+ getResources().getString(R.string.redirect_url)
+ "&response_type=code"
+ "&scope=user_profile,user_media";
public AuthenticationDialog(@NonNull Context context, AuthenticationListener listener) {
super(context, android.R.style.Theme_Black_NoTitleBar_Fullscreen);
this.context = context;
this.listener = listener;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.auth_dialog);
this.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
initializeWebView();
}
private void initializeWebView() {
webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(url);
Log.d(TAG, "url: " + url);
webView.setWebViewClient(new WebViewClient() {
String access_token;
boolean authComplete;
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
Log.d(TAG, "onPageStarted called");
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
Log.d(TAG, "onPageFinished called " + url);
if (url.contains("?code=") && !authComplete) {
Log.d(TAG, " inside access_token");
access_token = url;
//get the whole token after "=" sign
access_token = access_token.replace("https://www.instagram.com/?code=","");
access_token = access_token.replace("#_","");
Log.d(TAG, "token: " + access_token);
authComplete = true;
listener.onTokenReceived(access_token);
webView.loadUrl("https://instagram.com/accounts/logout/");
dismiss();
} else if (url.contains("?error")) {
Log.d(TAG, "getting error fetching access token");
dismiss();
} else {
Log.d(TAG, "outside both" + url.toString());
}
}
});
}
}