Skip to content

Latest commit

 

History

History
416 lines (315 loc) · 23.2 KB

File metadata and controls

416 lines (315 loc) · 23.2 KB

Communities

Overview

Available Operations

Members

Get community members

Example Usage

package main

import(
	"context"
	"os"
	xapiscraper "github.com/twexapi-dev/x-api-scraper-go"
	"github.com/twexapi-dev/x-api-scraper-go/models/operations"
	"log"
)

func main() {
    ctx := context.Background()

    s := xapiscraper.New(
        xapiscraper.WithSecurity(os.Getenv("X_API_SCRAPER_BEARER_AUTH")),
    )

    res, err := s.Communities.Members(ctx, operations.CommunitiesMembersRequest{
        CommunityID: "<id>",
        TargetCount: 298640,
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.SearchUserResponse != nil {
        // handle response
    }
}

Parameters

Parameter Type Required Description
ctx context.Context ✔️ The context to use for the request.
request operations.CommunitiesMembersRequest ✔️ The request object to use for the request.
opts []operations.Option The options for this request.

Response

*operations.CommunitiesMembersResponse, error

Errors

Error Type Status Code Content Type
apierrors.HTTPValidationError 422 application/json
apierrors.APIError 4XX, 5XX */*

MembersPage

Retrieve a paginated list of community members using cursor-based pagination. Each page returns up to 20 members. Pass next_cursor from the previous response to continue. Pricing: $0.10 per 1,000 members.

Example Usage

package main

import(
	"context"
	"os"
	xapiscraper "github.com/twexapi-dev/x-api-scraper-go"
	"github.com/twexapi-dev/x-api-scraper-go/optionalnullable"
	"github.com/twexapi-dev/x-api-scraper-go/models/components"
	"log"
)

func main() {
    ctx := context.Background()

    s := xapiscraper.New(
        xapiscraper.WithSecurity(os.Getenv("X_API_SCRAPER_BEARER_AUTH")),
    )

    res, err := s.Communities.MembersPage(ctx, components.GetCommunityMembersCursorQuery{
        NextCursor: optionalnullable.From(xapiscraper.Pointer("1234567890")),
        CommunityID: "<id>",
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.GetCommunityMembersCursorResponse != nil {
        // handle response
    }
}

Parameters

Parameter Type Required Description
ctx context.Context ✔️ The context to use for the request.
request components.GetCommunityMembersCursorQuery ✔️ The request object to use for the request.
opts []operations.Option The options for this request.

Response

*operations.CommunitiesMembersPageResponse, error

Errors

Error Type Status Code Content Type
apierrors.HTTPValidationError 422 application/json
apierrors.APIError 4XX, 5XX */*

Tweets

Get community tweets

Example Usage

package main

import(
	"context"
	"os"
	xapiscraper "github.com/twexapi-dev/x-api-scraper-go"
	"github.com/twexapi-dev/x-api-scraper-go/models/operations"
	"log"
)

func main() {
    ctx := context.Background()

    s := xapiscraper.New(
        xapiscraper.WithSecurity(os.Getenv("X_API_SCRAPER_BEARER_AUTH")),
    )

    res, err := s.Communities.Tweets(ctx, operations.CommunitiesTweetsRequest{
        CommunityID: "<id>",
        TweetType: operations.TweetTypeMedia,
        TargetCount: 682850,
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.CommunityTweetsResponse != nil {
        // handle response
    }
}

Parameters

Parameter Type Required Description
ctx context.Context ✔️ The context to use for the request.
request operations.CommunitiesTweetsRequest ✔️ The request object to use for the request.
opts []operations.Option The options for this request.

Response

*operations.CommunitiesTweetsResponse, error

Errors

Error Type Status Code Content Type
apierrors.HTTPValidationError 422 application/json
apierrors.APIError 4XX, 5XX */*

TweetsPage

Retrieve a paginated list of community tweets using cursor-based pagination. Each page returns up to 20 tweets. Pass next_cursor from the previous response to continue. Pricing: $0.10 per 1,000 tweets.

Example Usage

package main

import(
	"context"
	"os"
	xapiscraper "github.com/twexapi-dev/x-api-scraper-go"
	"github.com/twexapi-dev/x-api-scraper-go/optionalnullable"
	"github.com/twexapi-dev/x-api-scraper-go/models/components"
	"log"
)

func main() {
    ctx := context.Background()

    s := xapiscraper.New(
        xapiscraper.WithSecurity(os.Getenv("X_API_SCRAPER_BEARER_AUTH")),
    )

    res, err := s.Communities.TweetsPage(ctx, components.GetCommunityTweetsCursorQuery{
        NextCursor: optionalnullable.From(xapiscraper.Pointer("1234567890")),
        CommunityID: "<id>",
        TweetType: components.TweetTypeTop,
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.GetCommunityTweetsCursorResponse != nil {
        // handle response
    }
}

Parameters

Parameter Type Required Description
ctx context.Context ✔️ The context to use for the request.
request components.GetCommunityTweetsCursorQuery ✔️ The request object to use for the request.
opts []operations.Option The options for this request.

Response

*operations.CommunitiesTweetsPageResponse, error

Errors

Error Type Status Code Content Type
apierrors.HTTPValidationError 422 application/json
apierrors.APIError 4XX, 5XX */*

Search

Search community

Example Usage

package main

import(
	"context"
	"os"
	xapiscraper "github.com/twexapi-dev/x-api-scraper-go"
	"github.com/twexapi-dev/x-api-scraper-go/models/components"
	"log"
)

func main() {
    ctx := context.Background()

    s := xapiscraper.New(
        xapiscraper.WithSecurity(os.Getenv("X_API_SCRAPER_BEARER_AUTH")),
    )

    res, err := s.Communities.Search(ctx, components.SearchCommunityQuery{
        Query: "<value>",
        TargetCount: 761546,
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.SearchCommunityResponse != nil {
        // handle response
    }
}

Parameters

Parameter Type Required Description
ctx context.Context ✔️ The context to use for the request.
request components.SearchCommunityQuery ✔️ The request object to use for the request.
opts []operations.Option The options for this request.

Response

*operations.CommunitiesSearchResponse, error

Errors

Error Type Status Code Content Type
apierrors.HTTPValidationError 422 application/json
apierrors.APIError 4XX, 5XX */*

Get

Get community

Example Usage

package main

import(
	"context"
	"os"
	xapiscraper "github.com/twexapi-dev/x-api-scraper-go"
	"github.com/twexapi-dev/x-api-scraper-go/models/operations"
	"log"
)

func main() {
    ctx := context.Background()

    s := xapiscraper.New(
        xapiscraper.WithSecurity(os.Getenv("X_API_SCRAPER_BEARER_AUTH")),
    )

    res, err := s.Communities.Get(ctx, operations.CommunitiesGetRequest{
        CommunityID: "<id>",
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.GetCommunityResponse != nil {
        // handle response
    }
}

Parameters

Parameter Type Required Description
ctx context.Context ✔️ The context to use for the request.
request operations.CommunitiesGetRequest ✔️ The request object to use for the request.
opts []operations.Option The options for this request.

Response

*operations.CommunitiesGetResponse, error

Errors

Error Type Status Code Content Type
apierrors.HTTPValidationError 422 application/json
apierrors.APIError 4XX, 5XX */*

SearchTweets

Search community tweets

Example Usage

package main

import(
	"context"
	"os"
	xapiscraper "github.com/twexapi-dev/x-api-scraper-go"
	"github.com/twexapi-dev/x-api-scraper-go/models/components"
	"log"
)

func main() {
    ctx := context.Background()

    s := xapiscraper.New(
        xapiscraper.WithSecurity(os.Getenv("X_API_SCRAPER_BEARER_AUTH")),
    )

    res, err := s.Communities.SearchTweets(ctx, components.SearchCommunityTweetsQuery{
        CommunityID: "<id>",
        TargetCount: 687977,
        Query: "<value>",
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.CommunityTweetsResponse != nil {
        // handle response
    }
}

Parameters

Parameter Type Required Description
ctx context.Context ✔️ The context to use for the request.
request components.SearchCommunityTweetsQuery ✔️ The request object to use for the request.
opts []operations.Option The options for this request.

Response

*operations.CommunitiesSearchTweetsResponse, error

Errors

Error Type Status Code Content Type
apierrors.HTTPValidationError 422 application/json
apierrors.APIError 4XX, 5XX */*