oauth_consumer.properties 未找到社交身份验证 android

oauth_consumer.properties not found social auth android

我在 FacebookTwitter[=54 上为 auth 用户使用 SocialAuth 库=]。我有一些问题。

我在日志 cat

中遇到以下错误
D/SocialAuthAdapter﹕ Selected provider is facebook
D/SocialAuthAdapter﹕ Loading keys and secrets from configuration
D/SocialAuthAdapter﹕ oauth_consumer.properties not found
D/SocialAuthAdapter﹕ Could not load configuration
D/SocialAuthAdapter﹕ Starting webview for authentication
D/SocialAuthError﹕ org.brickred.socialauth.exception.SocialAuthConfigurationException: SocialAuth configuration is null.
E/Login activity﹕ URL Authentication error

下面是我的文件夹结构

我的LoginActivity.java

public class LoginActivity extends ActionBarActivity {

private SocialAuthAdapter adapter;

//Android Component
private Button fb_button, tw_button, g_button;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getSupportActionBar().hide();
    setContentView(R.layout.activity_login);

    //Social Adapter
    adapter = new SocialAuthAdapter(new DialogListener() {
        @Override
        public void onComplete(Bundle bundle) {
            adapter.getUserProfileAsync(new SocialAuthListener<Profile>() {
                @Override
                public void onExecute(String s, Profile profile) {
                    Log.e("Custom UI", "Login Receiving Data");
                    Profile profileMap = profile;
                    Log.d("Custom-UI",  "Validate ID         = " + profileMap.getValidatedId());
                    Log.d("Custom-UI",  "First Name          = " + profileMap.getFirstName());
                    Log.d("Custom-UI",  "Last Name           = " + profileMap.getLastName());
                    Log.d("Custom-UI",  "Email               = " + profileMap.getEmail());
                    Log.d("Custom-UI",  "Gender              = " + profileMap.getGender());
                    Log.d("Custom-UI",  "Country             = " + profileMap.getCountry());
                    Log.d("Custom-UI",  "Language            = " + profileMap.getLanguage());
                    Log.d("Custom-UI",  "Location            = " + profileMap.getLocation());
                    Log.d("Custom-UI",  "Profile Image URL   = " + profileMap.getProfileImageURL());
                }

                @Override
                public void onError(SocialAuthError socialAuthError) {
                    Log.e("Custom UI", "Profile Data Error");
                }
            });
        }

        @Override
        public void onError(SocialAuthError socialAuthError) {
            Log.e("Login activity", socialAuthError.getMessage());
        }

        @Override
        public void onCancel() {

        }

        @Override
        public void onBack() {

        }
    });


    //Wire up the Login Buttons
    fb_button = (Button) findViewById(R.id.buttonFB);
    tw_button = (Button) findViewById(R.id.buttonTwitter);
    g_button = (Button) findViewById(R.id.buttonGoogle);

    //Event Listener for Click

    //Facebook
    fb_button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            adapter.authorize(LoginActivity.this, SocialAuthAdapter.Provider.FACEBOOK);
            Toast.makeText(LoginActivity.this, "I am Facebook", Toast.LENGTH_SHORT).show();
        }
    });

    //Twitter
    tw_button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            adapter.addCallBack(SocialAuthAdapter.Provider.TWITTER,"http://domain.com/auth/twitter");
            adapter.authorize(LoginActivity.this, SocialAuthAdapter.Provider.TWITTER);
            Toast.makeText(LoginActivity.this, "I am Twitter", Toast.LENGTH_SHORT).show();
        }
    });

    //Google
    g_button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            adapter.addCallBack(SocialAuthAdapter.Provider.GOOGLE,"http://domain.com/google");
            adapter.authorize(LoginActivity.this, SocialAuthAdapter.Provider.GOOGLE);
            Toast.makeText(LoginActivity.this, "I am Google", Toast.LENGTH_SHORT).show();
        }
    });

  }

}

callbackurl在app中有什么用。回调 url?

会发布什么内容

我怎样才能只在第一次显示这个登录屏幕?

一种方法是 SharedPreference 来存储登录用户的设置,SocialAuth 库中有没有什么方法可以做到这一点。

感谢这个库,它很棒,但文档可以改进。

撞了整整2天我发现了错误

您需要将 assets 文件夹与 res 文件夹放在同一级别才能加载 oauth_consumer.properties 文件。

src
    main
       assets
       java
       res
       AndroidManifest.xml