سؤال

نحن نستخدم

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top