Интеграция входа в систему Android InstagramAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Интеграция входа в систему Android Instagram

Сообщение Anonymous »

Я пытаюсь выполнить социальное вход через Instagram без графического API и прочитать все необходимые вещи, связанные с ним из документации Instagram и StackOverflow. Пароль. https://api.instagram.com/oauth/authori ... ic_content pronesponse_typekeken&scope! /> [*] Когда я ввожу имя пользователя и пароль в WebView, а не навигации по его redirect url, он постоянно показывает мне ошибку на WebView As: {"error_type": "Oauthexception", "Code": 400, "error_message": "Вы должны включать Value_id, recason_type и redirect_ur Параметры "}
[*] Я хочу получить access_token , но она показывает мою ошибку.


ниже мой код:

probinong> mainactiption.jongabipation. />
public class MainActivity extends AppCompatActivity implements AuthenticationListener {

private AuthenticationDialog authDialog;
private Context context;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
context = this;
}

@Override
public void onCodeReceived(String token) {
if (token == null)
return;
}

@OnClick(R.id.buttonLogin)
public void loginClick() {
authDialog = new AuthenticationDialog(this, this);
authDialog.setCancelable(true);
authDialog.getWindow().setLayout(((getWidth(context) / 100) * 90), LinearLayout.LayoutParams.MATCH_PARENT);
authDialog.getWindow().setGravity(Gravity.CENTER);
authDialog.show();
}

public static int getWidth(Context context) {
DisplayMetrics displayMetrics = new DisplayMetrics();
WindowManager windowmanager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
windowmanager.getDefaultDisplay().getMetrics(displayMetrics);
return displayMetrics.widthPixels;
}
}
< /code>

Authenticationdialog.java

public class AuthenticationDialog extends Dialog {
private String TAG = AuthenticationDialog.class.getSimpleName();
private AuthenticationListener listener;
private Context context;
private WebView webView;

private final String url = Constants.BASE_URL + "oauth/authorize/?client_id=" +
Constants.INSTAGRAM_CLIENT_ID
+ "&redirect_url="
+ Constants.REDIRECT_URL
+ "&response_type=token"
+ "&scope=basic+public_content";

public AuthenticationDialog(@NonNull Context context, AuthenticationListener listener) {
super(context);

this.context = context;
this.listener = listener;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.auth_dialog);
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.loadUrl("http://api.instagram.com/");
//webView.loadUrl("https://api.instagram.com/oauth/authori ... ic_content");
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");
if (url.contains("#access_token=") && !authComplete) {
Log.d(TAG, " inside access_token");
Uri uri = Uri.parse(url);
access_token = uri.getEncodedFragment();
//get the whole token after "=" sign
access_token = access_token.substring(access_token.lastIndexOf("=") + 1);
Log.d(TAG, "token: " + access_token);
authComplete = true;
listener.onCodeReceived(access_token);
dismiss();
} else if (url.contains("?error")) {
Log.d(TAG, "getting error fetching access token");
dismiss();
} else {
Log.d(TAG, "outside both" + url.toString());
}
}
});
}
}
< /code>

И в соответствии с журналами код появляется последним, «вне обоих». Также веб -просмотр показывает ошибку, которая я упоминал в пункте №. 4. < /p>

Кто -нибудь может помочь? < /P>

Подробнее здесь: https://stackoverflow.com/questions/523 ... ntegration
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»