| [//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. " |
| [//]: # " " |
| [//]: # " This program and the accompanying materials are made available under the " |
| [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at " |
| [//]: # " http://www.eclipse.org/org/documents/edl-v10.php. " |
| [//]: # " " |
| [//]: # " SPDX-License-Identifier: BSD-3-Clause " |
| |
| OAuth 1 Client Sample - Twitter Client |
| ====================================== |
| |
| This example demonstrates how to develop a simple web app client |
| utilizing JAX-RS client API and Jersey OAuth support. |
| |
| Contents |
| -------- |
| |
| This example consists of the main class (`App`) and two JAXB beans used |
| for unmarshaling the responses from Twitter (`Status` and `User`). |
| |
| Running the Example |
| ------------------- |
| |
| ### Registering with Twitter |
| |
| Before running the example, you have to register your own application |
| with Twitter (to obtain consumer key and consumer secret you have to use |
| to configure this client). You can do it as follows: |
| |
| 1. Go to [Twitter Developers Page](http://dev.twitter.com/). You need |
| to sign in to the Twitter (if you are new to Twitter you need to |
| sign up). Then in the right upper corner you will see your profile |
| photo and drop down list in which you select "My Application". Click |
| on **Create a new application** button. |
| |
| 2. Fill out the "Create an application" form - you have to pick a |
| unique application name (e.g. app12345678), put in some description, |
| put in something for app website (e.g. http://jersey.java.net), |
| Accept terms by selecting **Yes, I agree** in "Twitter Content" |
| checkbox, enter captcha. |
| |
| 3. Click **Create your twitter application** button. |
| |
| 4. You will be presented with consumer key, consumer secret and other |
| details for your registered application. |
| |
| ### Running for the First Time |
| |
| Enter the following on the command-line: |
| |
| > mvn clean compile exec:java -DconsumerKey=<consumer key assigned to your app> -DconsumerSecret=<consumer secret assigned to your app> |
| |
| ### Subsequent Runs |
| |
| After you run the application for the first time, it stores the consumer |
| key, secret and token and token secret in a property file for future |
| use. So, for subsequent runs you don't have to specify these as system |
| properties. The following command is good enough for running the |
| application after it was built, run for the first time and the property |
| file was created: |
| |
| > mvn exec:java |
| |
| Troubleshooting |
| --------------- |
| |
| ### HTTP Proxy |
| |
| Behind a HTTP proxy, you will need to setup the following system |
| properties to communicate with the Twitter server: |
| |
| - http.proxyHost - the name of the proxy host. |
| - http.proxyPort - the port of the proxy host. |
| - http.proxyAuth - the user name and password to use when connecting |
| to the proxy; this string should be the user name and password |
| separated by a colon (e.g., rickhall:mypassword). |
| |
| These system properties can be set directly on the command line when |
| starting the JVM using the standard "-D<prop>=<value>" |
| syntax. |