لم يتم طلب Publish_actions في SDK الجديد
-
20-12-2019 - |
سؤال
نحن نستخدم
Permission[] permissions = new Permission[] {
Permission.PUBLIC_PROFILE,
Permission.EMAIL,
Permission.USER_FRIENDS,
Permission.PUBLISH_ACTION
};
SimpleFacebookConfiguration configuration = new SimpleFacebookConfiguration.Builder()
.setAppId(getResources().getString(R.string.app_id))
.setNamespace("ournamespace")
.setPermissions(permissions)
.build();
SimpleFacebook.setConfiguration(configuration);
في نشاط تسجيل الدخول:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
mSimpleFacebook.onActivityResult(this, requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
}
@Override
public void onResume() {
super.onResume();
mSimpleFacebook = SimpleFacebook.getInstance(this);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
ctx = this;
ImageView fbBtn = (ImageView) findViewById(R.id.authButton);
fbBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mSimpleFacebook.login(onLoginListener);
}
});
}
ومع ذلك، فإن رمز الوصول الذي تم إنشاؤه لا يتضمن إذن Publish_actions...ما هو الخطأ هنا؟
شكرًا!
المحلول
في أحد التغييرات الأخيرة لهذه المكتبة، تمت إضافة خيار جديد إلى SimpleFacebookConfiguration
.تسمى setAskForAllPermissionsAtOnce
.إذا كانت القيمة صحيحة، فإنها تطلب جميع الأذونات مرة واحدة وسيكون لديك أذونات النشر في AccessToken إذا قبلها المستخدم عند تسجيل الدخول.
إذا كان كاذبا فإنه يتصرف بطريقة مختلفة.فقط عندما يقوم المستخدم بإجراء النشر الأول، عندها فقط سيتم عرض مربع الحوار الذي يحتوي على الأذونات لأول مرة.القيمة الافتراضية خاطئة لأن هذا يتوافق أفضل لسياسة الفيسبوك.ولكن يمكنك تغييره.تحقق من جميع الخيارات هنا: https://github.com/sromku/android-simple-facebook#configuration-options
تستطيع ايضا استخذام SimpleFacebook.requestNewPermissions()
طريقة لطلب الأذونات مرة أخرى أو للحصول على أذونات جديدة في منتصف تدفق التطبيق الخاص بك، عندما تقرر أنه من الجيد أن تطلب من المستخدم.
نصائح أخرى
يجب أن تتم مراجعة تطبيقك بواسطة أشخاص Facebook إذا كنت بحاجة إلى ذلك publish_actions
إذن.
المراجعة غير مطلوبة إذا كنت بحاجة فقط public profile
, Email
, App friends
إذن.
وأعتقد أن إنشاء AccessToken يعتمد على ذلك publish_actions
إذن، يجب مراجعة تطبيقك.
انظر رابط مطور الفيسبوك،
https://developers.facebook.com/docs/facebook-login/permissions/v2.0