致力於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,它工作正常與非開發人員,我沒有得到許可...你有沒有找到任何問題的答案? –