What constitutes a "use case"?


#1

Hello, I am new to developing with Twitter APIs and have a question about the policy regarding “single use case”.

It seems that it’s not so uncommon to use multiple consumer/access tokens to consume larger volumes of data in a shorter period of time by balancing the requests across multiple tokens. The developer policy clearly states that is is forbidden for single use cases.

But what exactly would a single use case be?

For a specific example, say I want to collect tweets containing certain hash tags and/or phrases related to a specific but broad topic (say politics), and across multiple geographic locations. In this example, would this be a single use case, or would it be multiple use cases?


#2

I have a similar question:

If I have multiple installations of the same application over various customers (onsite or on private clouds), this constitutes a diffrent case for each installation?

If yes, I should somehow provide customer names?


#3

Hello,

Thanks for the questions. When thinking about a “use case” in this context it’s best to zoom out to the broadest level possible. For example, the entirety of a research project generally constitutes a single use case. The entirety of a company’s operations generally constitutes single use case.

To think of this another way, you should only be creating new apps for projects / businesses that are standalone concerns, with zero relation to each other. To use the examples from above -please don’t create apps for geographic subsections of a single research project, or to offer the same service to different customer segments.

To learn more about this issue please review this policy guidance. Thanks again.


#4

We are using the streaming api so each customer can collect tweets that are of his interest (using keywords and/or accounts).

Since, we are talking for different installations, can we use the same app (i.e. key-secret, token-secret pairs) for all of them? I think that this is not allowed.

So, one option is for us to apply for a new app for each new installation, mentioning the customer as the App Organization.

The other option seems to be that each customer should apply for each own app and use it for his installation.

Are any of the above options valid? Is there a third option?

Thank you in advance.


#5

First off I’d like to make sure to clarify some terms.
We use application when we are talking about applying for a developer account
We use Twitter apps to discuss the apps that you create and manage that you pull your tokens from.
I’d be curious to hear how you are defining installations to help clarify this conversation.

It is a best practice for you to use a different Twitter app and set of tokens for each of the different use cases that you may have, keeping in mind that multiple clients might be using your app for the same use case. You can list this use case within the app management dashboard on developer.twitter.com.

Ex/ you have a Twitter app that is being used to allow customers to search the Twitter database for Tweets related to a query. You can make requests via this app for multiple users as long as it is for the same use case.

You should be able to perform all of your tasks related to your organization or personal development with a single developer portal account. Please do not apply for multiple different organizations.

If you need to make requests on behalf of other users, please implement the 3-legged oauth flow to have your users authorize your Twitter apps. If you have users go through this flow, it will provide you access tokens to make requests on their behalf.