Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从linkedin访问android应用程序令牌_Android_Oauth_Linkedin - Fatal编程技术网

从linkedin访问android应用程序令牌

从linkedin访问android应用程序令牌,android,oauth,linkedin,Android,Oauth,Linkedin,首先。是否可以将linkedin添加到facebook、twitter等android应用程序中?我读过很多博客,但无法在我的应用程序中实现linkedin。我已经进入了应用程序的用户授权过程,在该过程中,用户输入其用户名和密码。但当他在屏幕上输入一个5位数的数字时,屏幕就会进入应用程序主屏幕。然后填充并按enter键 但问题是,我如何才能从浏览器移回我的应用程序,以及用户应该将这些数字数据放在哪里。以及何时&如何获取访问令牌以使用用户配置文件的数据 互联网上没有什么好东西可以让linkedin

首先。是否可以将linkedin添加到facebook、twitter等android应用程序中?我读过很多博客,但无法在我的应用程序中实现linkedin。我已经进入了应用程序的用户授权过程,在该过程中,用户输入其用户名和密码。但当他在屏幕上输入一个5位数的数字时,屏幕就会进入应用程序主屏幕。然后填充并按enter键

但问题是,我如何才能从浏览器移回我的应用程序,以及用户应该将这些数字数据放在哪里。以及何时&如何获取访问令牌以使用用户配置文件的数据


互联网上没有什么好东西可以让linkedin和android一起使用。我得到了一个图书馆,但如何克服这种情况?不知道。谁能给我建议一些解决办法吗。谢谢。

好的,几个小时前我遇到了同样的问题,我就是这样解决的:

public class WebFragment extends Fragment {

    class MyJavaScriptInterface
    {
        public void processHTML(String html)
        {
            Log.e("HTML" , html);
            ((MainActivity)getActivity()).LinkedInCallback(html);
        }
    }

    private WebView mWebView;
    private String mUrl = "http://www.google.com";
    boolean doneRedirect = false;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {


        LayoutInflater mInflater = (LayoutInflater) getActivity().getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        RelativeLayout view =  (RelativeLayout) mInflater.inflate(R.layout.webview,null);

        RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(1200, 700);
        lp.addRule(RelativeLayout.CENTER_IN_PARENT);

        view.setLayoutParams(lp);

        mWebView = (WebView) view.findViewById(R.id.wv1);
        mWebView.getSettings().setJavaScriptEnabled(true);

        mWebView.addJavascriptInterface(new MyJavaScriptInterface(), "HTMLOUT");

        mWebView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                Log.e("Should Override url" , url);
                view.loadUrl(url);
                return false;
            }


              @Override
                public void onPageFinished(WebView view, String url)
                {
                  if(url.contains("submit"))
                      view.loadUrl("javascript:window.HTMLOUT.processHTML(document.getElementsByClassName('access-code')[0].innerHTML);");
                }

        });
        mWebView.loadUrl(mUrl);
        return view;
    }

    public void loadUrl(String url) {
        mWebView.loadUrl(url);
        Log.e("loadUrl", url);
    }

    public void setUrl(String url) {
        mUrl = url
        Log.e("setUrl", url);
    }

    public String getUrl() {
        return mUrl;
    }
}
在我的活动方面,我有以下方法:

private void login() {

        new Thread(new Runnable() {

            public void run() {
                oAuthService  = LinkedInOAuthServiceFactory.getInstance().createLinkedInOAuthService( CONSUMER_KEY,  CONSUMER_SECRET);
                factory = LinkedInApiClientFactory.newInstance( CONSUMER_KEY,  CONSUMER_SECRET);

                liToken = oAuthService.getOAuthRequestToken();

                loginFragment(liToken.getAuthorizationUrl());
            }
        }).start();
    }

    private void loginFragment(String url) {


        mWebViewFragment.setUrl(url);
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.add(R.id.main_layout ,mWebViewFragment ,"webview");
        fragmentTransaction.addToBackStack("webview");
        fragmentTransaction.commit();

    }


    public void LinkedInCallback (final String VerifierCode)
    {
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.remove(mWebViewFragment);
        fragmentTransaction.commit();

        new Thread(new Runnable() {

            public void run() {

                    String verifier = VerifierCode;
                    LinkedInAccessToken accessToken = oAuthService.getOAuthAccessToken(liToken, verifier);

            }
        }).start();

    }
我想澄清一下:


我用一个webview创建了一个片段,当用户输入他们的凭证时,我检测到包含“submit”的重定向url,并执行一些JavaScript注入以获取具有oauth验证器的元素。然后,我关闭该片段并返回到我的活动中,使用oauth验证器来使用客户端完成我需要的工作。

您可以使用第三方jar scribe.jar来实现这一点。 调用webview intent进行授权,如下所示

OAuthService service = new ServiceBuilder()
        .provider(LinkedInApi.class).apiKey(Constants.CONSUMER_KEY)
        .apiSecret(Constants.CONSUMER_SECRET)
        .callback(Constants.OAUTH_CALLBACK_URL).build();
 Token liToken = oAuthService
                .getRequestToken();

        String url = oAuthService
                .getAuthorizationUrl(PrepareRequestLinkedinTokenActivity.liToken);
        Log.i(TAG, "Popping a browser with the authorize URL : " + url);
        // Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(liToken
        // .getAuthorizationUrl()));
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));

        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
        context.startActivity(intent);
@Override
public void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(this);
    final Uri uri = intent.getData();
    if (uri != null
            && uri.getScheme().equals(Constants.OAUTH_CALLBACK_SCHEME)) {
        Log.i(TAG, "Callback received : " + uri);
        Log.i(TAG, "Retrieving Access Token");
        new RetrieveAccessTokenTask(this, prefs).execute(uri);
        finish();
    }
}

public class RetrieveAccessTokenTask extends AsyncTask<Uri, Void, Void> {

    private SharedPreferences prefs;

    public RetrieveAccessTokenTask(Context context, SharedPreferences prefs) {

        this.prefs = prefs;
    }

    /**
     * Retrieve the oauth_verifier, and store the oauth and
     * oauth_token_secret for future API calls.
     */
    @Override
    protected Void doInBackground(Uri... params) {
        final Uri uri = params[0];
        final Verifier verifier = new Verifier(
                uri.getQueryParameter("oauth_verifier"));

        try {
            accessToken = service.getAccessToken(liToken, verifier);

            final Editor edit = prefs.edit();
            edit.putString(Constants.LINKEDIN_TOKEN, accessToken.getToken());
            edit.putString(Constants.LINKEDIN_TOKEN_SECRET,
                    accessToken.getSecret());
            edit.commit();

            Log.i(TAG, "OAuth - Access Token Retrieved");

        } catch (Exception e) {
            Log.e(TAG, "OAuth - Access Token Retrieval Error", e);
        }

        return null;
    }

    @Override
    protected void onPostExecute(Void result) {

        super.onPostExecute(result);
        executeAfterAccessTokenRetrieval(accessToken);
    }
private void postToLinkedin(String comment) {

    SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(LinkedinDialogActivity.this);
    String token = prefs.getString(Constants.LINKEDIN_TOKEN, "");
    String secret = prefs.getString(Constants.LINKEDIN_TOKEN_SECRET, "");

    Token accessToken = new Token(token, secret);

    OAuthService service = new ServiceBuilder().provider(LinkedInApi.class)
            .apiKey(Constants.CONSUMER_KEY)
            .apiSecret(Constants.CONSUMER_SECRET)
            .callback(Constants.OAUTH_CALLBACK_URL).build();

    String url = "http://api.linkedin.com/v1/people/~/shares";
    OAuthRequest request = new OAuthRequest(Verb.POST, url);
    String payLoad = "<?xml version='1.0' encoding='UTF-8'?><share><comment>Check out the Sep 13 Second share!</comment><content><title>My new share with linked-in</title><description>Leverage the Share API to maximize engagement on user-generated content on LinkedIn</description><submitted-url>https://developer.linkedin.com/documents/share-api</submitted-url><submitted-image-url>http://m3.licdn.com/media/p/3/000/124/1a6/089a29a.png</submitted-image-url></content><visibility><code>anyone</code></visibility></share>";
    request.addHeader("Content-Length", Integer.toString(payLoad.length()));
    request.addHeader("Content-Type", "text/xml");
    request.addPayload(payLoad);
    service.signRequest(accessToken, request);
    Response response = request.send();
    System.out.println("response >>>> " + response.getBody());

}
<activity android:name=".PrepareRequestLinkedinTokenActivity"
        android:launchMode="singleTask" android:theme="@android:style/Theme.Translucent.NoTitleBar">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:host="callback" android:scheme="x-oauthflow-linkedin" />
        </intent-filter>
    </activity>
授权后,您将被重定向到您的活动。在活动中检索访问令牌,如下所示

OAuthService service = new ServiceBuilder()
        .provider(LinkedInApi.class).apiKey(Constants.CONSUMER_KEY)
        .apiSecret(Constants.CONSUMER_SECRET)
        .callback(Constants.OAUTH_CALLBACK_URL).build();
 Token liToken = oAuthService
                .getRequestToken();

        String url = oAuthService
                .getAuthorizationUrl(PrepareRequestLinkedinTokenActivity.liToken);
        Log.i(TAG, "Popping a browser with the authorize URL : " + url);
        // Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(liToken
        // .getAuthorizationUrl()));
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));

        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
        context.startActivity(intent);
@Override
public void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(this);
    final Uri uri = intent.getData();
    if (uri != null
            && uri.getScheme().equals(Constants.OAUTH_CALLBACK_SCHEME)) {
        Log.i(TAG, "Callback received : " + uri);
        Log.i(TAG, "Retrieving Access Token");
        new RetrieveAccessTokenTask(this, prefs).execute(uri);
        finish();
    }
}

public class RetrieveAccessTokenTask extends AsyncTask<Uri, Void, Void> {

    private SharedPreferences prefs;

    public RetrieveAccessTokenTask(Context context, SharedPreferences prefs) {

        this.prefs = prefs;
    }

    /**
     * Retrieve the oauth_verifier, and store the oauth and
     * oauth_token_secret for future API calls.
     */
    @Override
    protected Void doInBackground(Uri... params) {
        final Uri uri = params[0];
        final Verifier verifier = new Verifier(
                uri.getQueryParameter("oauth_verifier"));

        try {
            accessToken = service.getAccessToken(liToken, verifier);

            final Editor edit = prefs.edit();
            edit.putString(Constants.LINKEDIN_TOKEN, accessToken.getToken());
            edit.putString(Constants.LINKEDIN_TOKEN_SECRET,
                    accessToken.getSecret());
            edit.commit();

            Log.i(TAG, "OAuth - Access Token Retrieved");

        } catch (Exception e) {
            Log.e(TAG, "OAuth - Access Token Retrieval Error", e);
        }

        return null;
    }

    @Override
    protected void onPostExecute(Void result) {

        super.onPostExecute(result);
        executeAfterAccessTokenRetrieval(accessToken);
    }
private void postToLinkedin(String comment) {

    SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(LinkedinDialogActivity.this);
    String token = prefs.getString(Constants.LINKEDIN_TOKEN, "");
    String secret = prefs.getString(Constants.LINKEDIN_TOKEN_SECRET, "");

    Token accessToken = new Token(token, secret);

    OAuthService service = new ServiceBuilder().provider(LinkedInApi.class)
            .apiKey(Constants.CONSUMER_KEY)
            .apiSecret(Constants.CONSUMER_SECRET)
            .callback(Constants.OAUTH_CALLBACK_URL).build();

    String url = "http://api.linkedin.com/v1/people/~/shares";
    OAuthRequest request = new OAuthRequest(Verb.POST, url);
    String payLoad = "<?xml version='1.0' encoding='UTF-8'?><share><comment>Check out the Sep 13 Second share!</comment><content><title>My new share with linked-in</title><description>Leverage the Share API to maximize engagement on user-generated content on LinkedIn</description><submitted-url>https://developer.linkedin.com/documents/share-api</submitted-url><submitted-image-url>http://m3.licdn.com/media/p/3/000/124/1a6/089a29a.png</submitted-image-url></content><visibility><code>anyone</code></visibility></share>";
    request.addHeader("Content-Length", Integer.toString(payLoad.length()));
    request.addHeader("Content-Type", "text/xml");
    request.addPayload(payLoad);
    service.signRequest(accessToken, request);
    Response response = request.send();
    System.out.println("response >>>> " + response.getBody());

}
<activity android:name=".PrepareRequestLinkedinTokenActivity"
        android:launchMode="singleTask" android:theme="@android:style/Theme.Translucent.NoTitleBar">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:host="callback" android:scheme="x-oauthflow-linkedin" />
        </intent-filter>
    </activity>
该活动应在清单文件中声明,如下所示

OAuthService service = new ServiceBuilder()
        .provider(LinkedInApi.class).apiKey(Constants.CONSUMER_KEY)
        .apiSecret(Constants.CONSUMER_SECRET)
        .callback(Constants.OAUTH_CALLBACK_URL).build();
 Token liToken = oAuthService
                .getRequestToken();

        String url = oAuthService
                .getAuthorizationUrl(PrepareRequestLinkedinTokenActivity.liToken);
        Log.i(TAG, "Popping a browser with the authorize URL : " + url);
        // Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(liToken
        // .getAuthorizationUrl()));
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));

        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
        context.startActivity(intent);
@Override
public void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(this);
    final Uri uri = intent.getData();
    if (uri != null
            && uri.getScheme().equals(Constants.OAUTH_CALLBACK_SCHEME)) {
        Log.i(TAG, "Callback received : " + uri);
        Log.i(TAG, "Retrieving Access Token");
        new RetrieveAccessTokenTask(this, prefs).execute(uri);
        finish();
    }
}

public class RetrieveAccessTokenTask extends AsyncTask<Uri, Void, Void> {

    private SharedPreferences prefs;

    public RetrieveAccessTokenTask(Context context, SharedPreferences prefs) {

        this.prefs = prefs;
    }

    /**
     * Retrieve the oauth_verifier, and store the oauth and
     * oauth_token_secret for future API calls.
     */
    @Override
    protected Void doInBackground(Uri... params) {
        final Uri uri = params[0];
        final Verifier verifier = new Verifier(
                uri.getQueryParameter("oauth_verifier"));

        try {
            accessToken = service.getAccessToken(liToken, verifier);

            final Editor edit = prefs.edit();
            edit.putString(Constants.LINKEDIN_TOKEN, accessToken.getToken());
            edit.putString(Constants.LINKEDIN_TOKEN_SECRET,
                    accessToken.getSecret());
            edit.commit();

            Log.i(TAG, "OAuth - Access Token Retrieved");

        } catch (Exception e) {
            Log.e(TAG, "OAuth - Access Token Retrieval Error", e);
        }

        return null;
    }

    @Override
    protected void onPostExecute(Void result) {

        super.onPostExecute(result);
        executeAfterAccessTokenRetrieval(accessToken);
    }
private void postToLinkedin(String comment) {

    SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(LinkedinDialogActivity.this);
    String token = prefs.getString(Constants.LINKEDIN_TOKEN, "");
    String secret = prefs.getString(Constants.LINKEDIN_TOKEN_SECRET, "");

    Token accessToken = new Token(token, secret);

    OAuthService service = new ServiceBuilder().provider(LinkedInApi.class)
            .apiKey(Constants.CONSUMER_KEY)
            .apiSecret(Constants.CONSUMER_SECRET)
            .callback(Constants.OAUTH_CALLBACK_URL).build();

    String url = "http://api.linkedin.com/v1/people/~/shares";
    OAuthRequest request = new OAuthRequest(Verb.POST, url);
    String payLoad = "<?xml version='1.0' encoding='UTF-8'?><share><comment>Check out the Sep 13 Second share!</comment><content><title>My new share with linked-in</title><description>Leverage the Share API to maximize engagement on user-generated content on LinkedIn</description><submitted-url>https://developer.linkedin.com/documents/share-api</submitted-url><submitted-image-url>http://m3.licdn.com/media/p/3/000/124/1a6/089a29a.png</submitted-image-url></content><visibility><code>anyone</code></visibility></share>";
    request.addHeader("Content-Length", Integer.toString(payLoad.length()));
    request.addHeader("Content-Type", "text/xml");
    request.addPayload(payLoad);
    service.signRequest(accessToken, request);
    Response response = request.send();
    System.out.println("response >>>> " + response.getBody());

}
<activity android:name=".PrepareRequestLinkedinTokenActivity"
        android:launchMode="singleTask" android:theme="@android:style/Theme.Translucent.NoTitleBar">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:host="callback" android:scheme="x-oauthflow-linkedin" />
        </intent-filter>
    </activity>

通过以下代码,我成功地完成了100%的测试

    public class ShareInLinkedIn extends Activity implements OnClickListener {

private LinkedInOAuthService oAuthService;
private LinkedInApiClientFactory factory;
private LinkedInRequestToken liToken;
private LinkedInApiClient client;
public static final String LINKEDIN_PREF = "GamePrefs";

@SuppressLint({ "NewApi", "NewApi", "NewApi" })
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.linkedin);

    if (android.os.Build.VERSION.SDK_INT > 9) {
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
    }

    oAuthService = LinkedInOAuthServiceFactory.getInstance().createLinkedInOAuthService(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET, Constants.SCOPE_PARAMS);
    System.out.println("oAuthService : " + oAuthService);

    factory = LinkedInApiClientFactory.newInstance(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET);

    liToken = oAuthService.getOAuthRequestToken(Constants.OAUTH_CALLBACK_URL);
    System.out.println("onCreate:linktoURL : " + liToken.getAuthorizationUrl());
    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(liToken.getAuthorizationUrl()));
    startActivity(i);

}

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);

    try {
        linkedInImport(intent);
    } catch (NullPointerException e) {
        e.printStackTrace();
    }
}

private void linkedInImport(Intent intent) {
    String verifier = intent.getData().getQueryParameter("oauth_verifier");
    System.out.println("liToken " + liToken);
    System.out.println("verifier " + verifier);

    LinkedInAccessToken accessToken = oAuthService.getOAuthAccessToken(liToken, verifier);
    //SharedPreferences settings = getSharedPreferences(LINKEDIN_PREF, MODE_PRIVATE);
    // final Editor edit = settings.edit();
    // edit.putString(OAuth.OAUTH_TOKEN, accessToken.getToken());
    // edit.putString(OAuth.OAUTH_TOKEN_SECRET,
    // accessToken.getTokenSecret());
    // edit.putString("linkedin_login", "valid");
    // edit.commit();

    client = factory.createLinkedInApiClient(accessToken);

    // client.postNetworkUpdate("LinkedIn Android app test");

    Person profile = client.getProfileForCurrentUser(EnumSet.of(ProfileField.ID, ProfileField.FIRST_NAME, ProfileField.LAST_NAME, ProfileField.HEADLINE));

    System.out.println("First Name :: " + profile.getFirstName());
    System.out.println("Last Name :: " + profile.getLastName());
    System.out.println("Head Line :: " + profile.getHeadline());

    OAuthConsumer consumer = new CommonsHttpOAuthConsumer(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET);
    consumer.setTokenWithSecret(accessToken.getToken(), accessToken.getTokenSecret());

    DefaultHttpClient httpclient = new DefaultHttpClient();
    HttpPost post = new HttpPost("https://api.linkedin.com/v1/people/~/shares");
    try {
        consumer.sign(post);
        post.setHeader("content-type", "text/XML");
        String myEntity = "<share><comment>This is a test</comment><visibility><code>anyone</code></visibility></share>";
        post.setEntity(new StringEntity(myEntity));
        org.apache.http.HttpResponse response = httpclient.execute(post);
        // Get the response
        BufferedReader rd = new BufferedReader
          (new InputStreamReader(response.getEntity().getContent()));
        StringBuffer strBfr = new StringBuffer();   
        String line = "";
        while ((line = rd.readLine()) != null) {

            strBfr.append(line);
        } 
        System.out.println("Response is : "+strBfr.toString());
        Toast.makeText(ShareInLinkedIn.this, strBfr.toString(), Toast.LENGTH_LONG).show();
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub

}
}

Constants.java

    public class Constants {

public static final String CONSUMER_KEY = "YOUR_CONSUMER_KEY";
public static final String CONSUMER_SECRET = "YOUR_CONSUMER_SECRET_KEY";
public static final String OAUTH_CALLBACK_SCHEME = "x-oauthflow-linkedin";
public static final String OAUTH_CALLBACK_HOST = "litestcalback";
public static final String OAUTH_CALLBACK_URL = OAUTH_CALLBACK_SCHEME + "://" + OAUTH_CALLBACK_HOST;
public static final String SCOPE_PARAMS = "rw_nus+r_basicprofile";
}

AndroidManifiest.xml文件

      <activity
        android:name="com.linkedin.ShareInLinkedIn"
        android:launchMode="singleInstance" >
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data
                android:host="litestcalback"
                android:scheme="x-oauthflow-linkedin" />
        </intent-filter>
    </activity>


Hello Thasneem我正在寻找使用Scribe与android集成的linkedin。如果你有一个相关的链接,请给我发送一个示例应用程序,或者引导我通过相关链接??请查看以下url了解更多信息。您可以从这里下载示例应用程序。OAuthConsumer是什么