> ## Documentation Index
> Fetch the complete documentation index at: https://doc.lucidworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Twitter

export const LwTemplate = ({title = "Key questions to get you started", icon = "sparkles", cta = "Powered by Agent Studio", linkHref = "https://lucidworks.com/demo/?utm_source=docs&utm_medium=referral&utm_campaign=docs_cta_ai"}) => {
  const [isLoaded, setIsLoaded] = useState(false);
  useEffect(() => {
    const timer = setTimeout(() => {
      setIsLoaded(true);
    }, 500);
    return () => clearTimeout(timer);
  }, []);
  return <div className="lw-template-container">
      <Card title={title} icon={icon}>
        {isLoaded && <span dangerouslySetInnerHTML={{
    __html: `<lw-template id="a029c1a9-28be-427e-b0e1-5d918920246a"></lw-template
            >`
  }} />}
        <Link href={linkHref} className="agent-studio-link text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Powered by Lucidworks Agent Studio</Link>
      </Card>
    </div>;
};

[old doc.lw link]: https//doc.lucidworks.com/app-studio/4.2/3198

[localhost link]: http://localhost:3000/docs/5/app-studio/reference/search-platforms/twitter

[mintlify link]: https://doc.lucidworks.com/docs/5/app-studio/reference/search-platforms/twitter

The platform adapter for Twitter allows Appkit applications to search Twitter or retrieve a user’s timeline using the Twitter API.

<LwTemplate />

## Setup

To add Twitter connectors to a Maven project, you must add this dependency to your project’s `pom.xml` file:

```xml wrap  theme={"dark"}
<dependency>
    <groupId>twigkit</groupId>
    <artifactId>twigkit.twitter</artifactId>
    <version>${project.parent.version}</version>
</dependency>
```

## Usage

This example shows how to configure a Twitter platform.

```yaml wrap  theme={"dark"}
name: twigkit.search.twitter.Twitter
oAuthConsumerKey: foo
oAuthConsumerSecret: foo
oAuthAccessToken: foo
oAuthAccessSecret: foo
```

### Required attributes

* `oAuthConsumerKey (java.lang.String)`
  OAuth consumer key for the Twitter API.

* `oAuthConsumerSecret (java.lang.String)`
  OAuth consumer secret for the Twitter API.

* `oAuthAccessToken (java.lang.String)`
  OAuth access token for the Twitter API.

* `oAuthAccessSecret (java.lang.String)`
  OAuth access secret for the Twitter API.

### Optional attributes

* `userTimeline (java.lang.String)`
  User timeline to retrieve.

### Attributes shared across platforms

* `host (java.lang.String)`
  The URI of the platform. Must be specified using the full URI (for example, `http://localhost:1234`; `localhost:1234` will not work).

* `name (java.lang.String)`
  The display name of this Platform instance. Used for identifying different platforms in the user interface.

* `aliases (java.lang.String)`
  Manage mappings from field names to aliases (use a comma-separated list). All references to the field (via this platform) in results, facets, filters, and query strings are mapped. For example, to refer to a field in the index named `firstnamelastname` as `name` and `countryofresidence` as `country`, use these mappings: `aliases="firstnamelastname=name,countryofresidence=country"`

* `defaultQuery (java.lang.String)`
  Default query to use when none is specified.

* `defaultFacets (java.lang.String)`
  Default facets to request when none are specified. This is a comma separated list.

* `spellCheck (java.lang.Boolean)`
  Spellcheck the Query term if supported by the Platform.\
  Default: `true`

* `expandQuery (java.lang.Boolean)`
  Apply advanced linguistics such as stemming or lemmatization if supported by the Platform.
  Default: `true`

* `autoCorrect (java.lang.Boolean)`
  Whether to auto-correct and resubmit futile queries (queries with zero results).\
  Default: `true`

* `fileTypeField (java.lang.String)`
  Set which field contains information about file type (mime type).

* `resultIDField (java.lang.String)`
  Set which field represents the unique identifier for a given result.

* `pageLimit (java.lang.Long)`
  A limitation to which page the platform will offset.
