[英]E/GraphResponse: Unsupported get request. Android Studio facebook login
[英]Facebook Login GraphResponse Error Android
我正在遵循Facebook文档来实现Facebook登录,以仅将AccessToken
(而不是其他用户信息)获取到我的android应用中。 但是每次登录时,它都会出现一个奇怪的错误。.我正在为我的应用程序使用客户端(在开发模块中)提供的api密钥,但是它具有相同的错误,因此我创建了一个具有相同详细信息的facebook应用程序,并将其作为我已经看到一些建议使用该应用程序的解决方案,因此我创建了一个实时应用程序并在末尾检查了Facebook ID凭据都很好,但是尝试登录时仍然出现此错误。 即当我单击LoginButton进度显示出来,它消失了,我得到一个错误说明
错误
com.mtlab.test E / GraphResponse:{HttpStatus:404,errorCode:803,subErrorCode:-1,errorType:OAuthException,errorMessage:(#803)您请求的某些别名不存在:21312289922111}
摇篮:
implementation 'com.facebook.android:facebook-login:[4,5)'
我用来登录的代码是:
callbackManager = CallbackManager.Factory.create();
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
AccessToken token = loginResult.getAccessToken();
if(token!=null){
FacebookAuthToken = token.toString();
sendFacebookDataToServer();
}
}
@Override
public void onCancel() {
// App code
Log.d("Fb","canceled");
}
@Override
public void onError(FacebookException exception) {
// App code
Log.d("Fb","error");
}
});
在清单中:
<meta-data
tools:replace="android:value"
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
<activity
android:name="com.facebook.CustomTabActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="@string/fb_login_protocol_scheme" />
</intent-filter>
</activity>
我遵循文档中提到的相同过程,但是没有任何反应。
使用此代码.....我也使用它..在我的应用程序中工作正常...
CallbackManager callbackManager;
LoginManager loginManager;
在onCreate中
FacebookSdk.sdkInitialize(getApplicationContext());
FacebookSdk.addLoggingBehavior(LoggingBehavior.INCLUDE_ACCESS_TOKENS);
setContentView(R.layout.your_layout);
callbackManager = CallbackManager.Factory.create();
loginManager = com.facebook.login.LoginManager.getInstance();
loginManager.registerCallback(callbackManager, this);
Onclick或您想打开Facebook的位置
private void facebookLogin() {
loginManager.logInWithReadPermissions(this, Arrays.asList("email", "public_profile"));
}
之后
@Override
public void onSuccess(final LoginResult loginResult) {
if (loginResult != null) {
Profile profile = Profile.getCurrentProfile();
if (profile != null) {
firstName = profile.getFirstName();
lastName = profile.getLastName();
social_id = profile.getId();
profileURL = String.valueOf(profile.getProfilePictureUri(200, 200));
Log.e(TAG, "social Id: " + profileURL);
}
GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
Log.e("","token"+loginResult.getAccessToken().getToken()); //here is your access token
} catch (JSONException e) {
e.printStackTrace();
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,first_name,name,last_name,email,gender,birthday");
request.setParameters(parameters);
request.executeAsync();
}
}
@Override
public void onCancel() {
Log.e("bug", "facebook sign in connection cancel");
}
@Override
public void onError(FacebookException error) {
UiHelper.showToast(this, "An error occur during Facebook Login");
Log.e("bug", "facebook sign in error" + error.toString());
}
在应用程序build.gradle文件中
compile 'com.facebook.android:facebook-android-sdk:4.+'
在清单中
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
并添加
class YourActivity implements FacebookCallback<LoginResult>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.