Sim*_*elo 6 android facebook facebook-graph-api
我想问一下我的Android应用程序的用户在按下自定义共享按钮(它只是一个ImageView)时在facebook上发布的权限.按钮的OnClick方法我执行此块:
CallbackManager facebookCallbackManager;
...
facebookCallbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(facebookCallbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
shareContent(activity, content, true);
}
@Override
public void onCancel() { }
@Override
public void onError(FacebookException error) { }
});
LoginManager.getInstance().logInWithPublishPermissions(activity, Collections.singletonList("publish_actions"));
Run Code Online (Sandbox Code Playgroud)
然后我覆盖:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebookCallbackManager.onActivityResult(requestCode, resultCode, data);
}
Run Code Online (Sandbox Code Playgroud)
问题是请求永远不会出现:呈现永久的微调轮,并且不会调用回调(也不成功,也不取消,也不会出错).
一个.用户已经登录,根据:
public static boolean isLoggedIn() {
AccessToken accessToken = AccessToken.getCurrentAccessToken();
return accessToken != null;
}
Run Code Online (Sandbox Code Playgroud)
湾 FacebookSdk.isInitialized()是真的
C.根据以下内容,未授予发布权限:
private static boolean hasPublishPermissions() {
AccessToken accessToken = AccessToken.getCurrentAccessToken();
return accessToken != null && accessToken.getPermissions().contains("publish_actions");
}
Run Code Online (Sandbox Code Playgroud)
d.FB SDK的其他用途通过应用程序使用,它们正在运行.
即 我是FB仪表板上的app管理员
对这个问题有什么想法吗?
重要的PS:
由于Facebook的API非常稳定,取决于一天中的时间或星星的位置,而不改变代码我有三种可能的结果:
onCancel没有用户交互的情况下触发方法.它分享内容而不要求确认 - 这给了我一个很好的不需要的视频发布在我的个人FB上,没有我注意到:) -
PS2:即使是经典LoginManager.getInstance().logInWithReadPermission现在也有同样的问题.它从来没有过.
小智 0
我认为回调管理器有错误。您声明并分配 CallbackManager facebookCallbackManager;facebookCallbackManager = CallbackManager.Factory.create();
在这里您可以看到有cbManager而不是facebookCallbackManager ,因此请仔细检查。
V
LoginManager.getInstance().registerCallback(cbManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
shareContent(activity, content, true);
}
@Override
public void onCancel() { }
@Override
public void onError(FacebookException error) { }
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
417 次 |
| 最近记录: |