nicht erhalten Ich möchte Post an die Wand des Benutzers veröffentlichen. Ich weiß, dass Facebook Tester und Entwickler nur erlaubt, auf der Wand zu posten. Ich habe bereits Benutzer zur Testerliste hinzugefügt. Wenn ich versuche, die Veröffentlichungsberechtigung zu erhalten, heißt es, dass der Benutzer die Berechtigung bereits erteilt hat (wie im Screenshot gezeigt) und zurückkehrt. Ich bin nicht in der Lage, Erlaubnis zu erhalten oder an der Wand zu posten. Darüber hinaus Callbacks jede Methode wird auch nicht aufgerufen.Publish Permission mit Test-Benutzer Facebook Android
CODE
Ich habe Code von Facebook Beispiel RPSSample gefolgt.
//Publish to wall
public void publishResult() {
registerPublishPermissionCallback();
if (canPublish()) { //see definition below
ShareLinkContent content = new ShareLinkContent.Builder()
.setContentUrl(Uri.parse(urlToPost))
.build();
ShareApi.share(content, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
callback.didShareOnFacebookSuccessfully();
}
@Override
public void onCancel() {
// This should not happen
}
@Override
public void onError(FacebookException error) {
showToast(error.getMessage());
}
});
}
}
//check if user has permission or not
private boolean canPublish() {
final AccessToken accessToken = AccessToken.getCurrentAccessToken();
if (accessToken != null) {
if (accessToken.getPermissions().contains(AppConstants.ADDITIONAL_PERMISSIONS)) {
// if we already have publish permissions, then go ahead and publish
return true;
} else {
// otherwise we ask the user if they'd like to publish to facebook
new AlertDialog.Builder(activity)
.setTitle(R.string.share_with_friends_title)
.setMessage(urlToPost)
.setPositiveButton(R.string.share_with_friends_yes, canPublishClickListener)
.setNegativeButton(R.string.share_with_friends_no, dontPublishClickListener)
.show();
return false;
}
}
return false;
}
//If user allows, ask Facebook to grant publish_action permission
private DialogInterface.OnClickListener canPublishClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
if (AccessToken.getCurrentAccessToken() != null) {
// if they choose to publish, then we request for publish permissions
LoginManager.getInstance()
.setDefaultAudience(DefaultAudience.FRIENDS)
.logInWithPublishPermissions(activity,
Arrays.asList(AppConstants.ADDITIONAL_PERMISSIONS));
}
}
};
//Callback - Any of the method doesn't call.
private void registerPublishPermissionCallback() {
LoginManager.getInstance().registerCallback(
callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
AccessToken accessToken = AccessToken.getCurrentAccessToken();
if (accessToken.getPermissions().contains(AppConstants.ADDITIONAL_PERMISSIONS)) {
publishResult();
} else {
handleError("Not enough permissions to publish");
}
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException exception) {
handleError(exception.getMessage());
}
private void handleError(String errorMessage) {
// this means the user did not grant us write permissions, so
// we don't do implicit publishes
showToast(errorMessage);
}
}
);
}
Meine App ist live auf der Konsole. Bitte führen Sie die Anforderungen von Facebook, um eine Veröffentlichungsberechtigung mit dem Testbenutzer zu erhalten. Vielen Dank.
Entfernen Sie Ihre App von Facebook und versuchen Sie es erneut, es wird funktionieren. [So entfernen Sie App von Facebook] (https://www.facebook.com/help/170585223002660). Nach der Neuinstallation sollten Sie anstelle des von Ihnen freigegebenen Bildschirms die Berechtigung zum Veröffentlichen anfordern. –
Entschuldigung, aber das Entfernen der App ist keine Lösung – NightFury