致力于Facebook
。无法获得publish_actions
权限。使用此代码:权限facebook sdk Android
session.requestNewPublishPermissions(new
Session.NewPermissionsRequest(this, PERMISSION));
任何解决方案...
致力于Facebook
。无法获得publish_actions
权限。使用此代码:权限facebook sdk Android
session.requestNewPublishPermissions(new
Session.NewPermissionsRequest(this, PERMISSION));
任何解决方案...
private static final List<String> PERMISSIONS = Arrays.asList("publish_actions");
private boolean pendingPublishReauthorization = false;
在onActivityResult
做到这一点
Session session = Session.getActiveSession();
if (session != null) {
// Check for publish permissions
List<String> permissions = session.getPermissions();
if (!isSubsetOf(PERMISSIONS, permissions)) {
pendingPublishReauthorization = true;
Session.NewPermissionsRequest newPermsnRequest = new Session.NewPermissionsRequest(
this, PERMISSIONS);
session.requestNewPublishPermissions(newPermsnRequest);
return;
}
}
在你的类也实现了这一点。
private boolean isSubsetOf(Collection<String> a,
Collection<String> b) {
for (String string : a) {
if (!b.contains(string)) {
return false;
}
}
return true;
}
通过这样做,您将能够获得所有公共权限。您必须在获取读取权限后打开会话,然后仅请求发布权限。
不工作..循环播放 – user3584264
Facebook sdk只返回读取权限,但不返回写入权限。您可以使用“/ me”端点来获取所有权限。
final Bundle permBundle = new Bundle();
permBundle.putCharSequence("permission", "publish_actions");
GraphRequest request = new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/me/permissions", permBundle, HttpMethod.GET,
new GraphRequest.Callback() {
@Override
public void onCompleted(GraphResponse graphResponse) {
Log.d(TAG, "response2: " + graphResponse.getJSONObject());
try {
JSONArray permList = (JSONArray) graphResponse.getJSONObject().get("data");
if(permList.length() == 0){
// no data for perms, hence asking permission
askForFBPublishPerm();
}else{
JSONObject permData = (JSONObject) permList.get(0);
String permVal = (String) permData.get("status");
if(permVal.equals("granted")){
postToFB();
}else{
askForFBPublishPerm();
}
}
} catch (JSONException e) {
Log.d(TAG, "exception while parsing fb check perm data" + e.toString());
}
}
}
);
request.executeAsync();
当谈到Facebook和Android平台来说,是一个开放源码库,可以简化你的一切 - https://github.com/sromku/android-simple-facebook –
我的工作,这些样本之一HelloFacebook 我刚更改了软件包名称和类名,并给它一个运行。 它适用于安装fb应用的设备,在其他设备上无法获得publish_actions权限 – user3584264
我遵循https://developers.facebook.com/docs/android/share示例发布到用户墙。如果我使用应用程序开发人员电子邮件登录Facebook,它工作正常与非开发人员,我没有得到许可...你有没有找到任何问题的答案? –