Any OAuth 2.0 API
Any API with an OAuth 2.0 sign-in. Your agent declares the provider's endpoints and scopes; you configure your application's client ID and secret, add the redirect URI shown, then authorise.
What the connection reaches
- Authorisation-code sign-in with PKCE
- Refresh tokens kept and used by the platform
- One or several APIs per connection
- Status
- Built into the pipeline SDK
- Connection class
- OAuth2Connection
- Credential
- Client ID and secret of your OAuth application
Connect Any OAuth 2.0 API
Three steps, the same for every connection. The credential goes to the platform, never into the repository or pipeline code.
- 1
Declare it in connections/connections.py
connections/connections.py from segmentstream.connections import OAuth2Connection, Secret connections = ( OAuth2Connection( key="google_analytics", name="Google Analytics", provider="google", authorization_url="https://accounts.google.com/o/oauth2/v2/auth", token_url="https://oauth2.googleapis.com/token", client_id=Secret(label="Client ID"), client_secret=Secret(label="Client secret"), scopes=["https://www.googleapis.com/auth/analytics.readonly"], authorization_parameters={"access_type": "offline", "prompt": "consent"}, apis={"data": "https://analyticsdata.googleapis.com/v1beta/"}, ),) - 2
Deploy
$ segmentstream deploy - 3
Connect
Configure your OAuth application's client ID and secret, and register the redirect URI the connection shows.
$ segmentstream connection configure google_analytics - 4
Then
Sign in and consent.
$ segmentstream connection authorize google_analytics --open
Use it
Code asks for the connection by its key. The platform adds the credential on the way out.
import segmentstream as s with s.get_connection("google_analytics").get_http_client() as client: response = client.get("/accountSummaries", params={"pageSize": 100}) response.raise_for_status()Or ask your agent
“Connect the Google Analytics Data API with our own OAuth client.”
Part of these solutions
More in Any API
Want Any OAuth 2.0 API set up for you?
Our forward-deployed engineers build one solution on your data, in your own workspace, as code you own. Tell us what you run today and what you want; your note goes straight to our founder.
- One solution, on your data, in your own workspace
- First version live in two weeks
- Parity proven before anything is switched off
- Fixed scope and price, credited to your contract if you continue
Not ready for a pilot? Send the form anyway with your question. An engineer will reply, not a sales rep.
How the pilot worksConnect what your company runs.
Our engineers build the first version on your data in two weeks, at a fixed price.
Or join the waitlist for self-serve:
Self-serve opens to the waitlist first.