Twitter::API::Trait::ApiMethods(3pm)

Twitter::API::Trait::ApiMethods3pm

Convenient api methods

Version

version 1.0006

Overview

This trait provides convenient methods for calling API endpoints. They are Net::Twitter compatible, with the same names and calling conventions.

Refer to Twitter's API documentation <https://developer.twitter.com/en/docs/api-reference-index> for details about each method's parameters.

These methods are simply shorthand forms of "get" and "post". All methods can be called with a parameters hashref. It can be omitted for endpoints that do not require any parameters, such as "mentions". For example, all of these calls are equivalent:

    $client->mentions;
    $client->mentions({});
    $client->get('statuses/mentions_timeline');
    $client->get('statuses/mentions_timeline', {});

Use the parameters hashref to pass optional parameters. For example,

    $client->mentions({ count => 200, trim_user=>'true' });

Some methods, with required parameters, can take positional parameters. For example, "geo_id" requires a "place_id" parameter. These calls are equivalent:

    $client->place_id($place);
    $client->place_id({ place_id => $place });

When positional parameters are allowed, they must be specified in the correct order, but they don't all need to be specified. Those not specified positionally can be added to the parameters hashref. For example, these calls are equivalent:

    $client->add_collection_entry($id, $tweet_id);
    $client->add_collection_entry($id, { tweet_id => $tweet_id);
    $client->add_collection_entry({ id => $id, tweet_id => $tweet_id });

Many calls require a "screen_name" or "user_id". Where noted, you may pass either ID as the first positional parameter. Twitter::API will inspect the value. If it contains only digits, it will be considered a "user_id". Otherwise, it will be considered a "screen_name". Best practice is to explicitly declare the ID type by passing it in the parameters hashref, because it is possible to for users to set their screen names to a string of digits, making the inferred ID ambiguous. These calls are equivalent:

   $client->create_block('realDonaldTrump');
   $client->create_block({ screen_name => 'realDonaldTrump' });

Since all of these methods simple resolve to a "get" or "post" call, see the Twitter::API for details about return values and error handling.

Methods

account_settings([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/get-account-settings>

blocking([ \%args ])

Aliases: blocks_list

<https://developer.twitter.com/en/docs/accounts-and-users/mute-block-report-users/api-reference/get-blocks-list>

blocking_ids([ \%args ])

Aliases: blocks_ids

<https://developer.twitter.com/en/docs/accounts-and-users/mute-block-report-users/api-reference/get-blocks-ids>

collection_entries([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/curate-a-collection/api-reference/get-collections-entries>

collections([ $screen_name | $user_id, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/curate-a-collection/api-reference/get-collections-list>

favorites([ \%args ])

<https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/get-favorites-list>

followers([ \%args ])

Aliases: followers_list

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-followers-list>

followers_ids([ $screen_name | $user_id, ][ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-followers-ids>

friends([ \%args ])

Aliases: friends_list

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-friends-list>

friends_ids([ \%args ])

Aliases: following_ids

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-friends-ids>

friendships_incoming([ \%args ])

Aliases: incoming_friendships

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-friendships-incoming>

friendships_outgoing([ \%args ])

Aliases: outgoing_friendships

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-friendships-outgoing>

geo_id([ $place_id, ][ \%args ])

<https://developer.twitter.com/en/docs/geo/place-information/api-reference/get-geo-id-place_id>

geo_search([ \%args ])

<https://developer.twitter.com/en/docs/geo/places-near-location/api-reference/get-geo-search>

get_configuration([ \%args ])

<https://developer.twitter.com/en/docs/developer-utilities/configuration/api-reference/get-help-configuration>

get_languages([ \%args ])

<https://developer.twitter.com/en/docs/developer-utilities/supported-languages/api-reference/get-help-languages>

get_list([ \%args ])

Aliases: show_list

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-show>

get_lists([ \%args ])

Aliases: list_lists, all_subscriptions

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-list>

get_privacy_policy([ \%args ])

<https://developer.twitter.com/en/docs/developer-utilities/privacy-policy/api-reference/get-help-privacy>

get_tos([ \%args ])

<https://developer.twitter.com/en/docs/developer-utilities/terms-of-service/api-reference/get-help-tos>

home_timeline([ \%args ])

<https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-home_timeline>

list_members([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-members>

list_memberships([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-memberships>

list_ownerships([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-ownerships>

list_statuses([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-statuses>

list_subscribers([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-subscribers>

list_subscriptions([ \%args ])

Aliases: subscriptions

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-subscriptions>

lookup_friendships([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-friendships-lookup>

lookup_statuses([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/get-statuses-lookup>

lookup_users([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-users-lookup>

mentions([ \%args ])

Aliases: replies, mentions_timeline

<https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-mentions_timeline>

mutes([ \%args ])

Aliases: muting_ids, muted_ids

<https://developer.twitter.com/en/docs/accounts-and-users/mute-block-report-users/api-reference/get-mutes-users-ids>

muting([ \%args ])

Aliases: mutes_list

<https://developer.twitter.com/en/docs/accounts-and-users/mute-block-report-users/api-reference/get-mutes-users-list>

no_retweet_ids([ \%args ])

Aliases: no_retweets_ids

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-friendships-no_retweets-ids>

oembed([ \%args ])

<https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/get-statuses-oembed>

profile_banner([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/get-users-profile_banner>

rate_limit_status([ \%args ])

<https://developer.twitter.com/en/docs/developer-utilities/rate-limit-status/api-reference/get-application-rate_limit_status>

retweeters_ids([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/get-statuses-retweeters-ids>

retweets([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/get-statuses-retweets-id>

retweets_of_me([ \%args ])

Aliases: retweeted_of_me

<https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/get-statuses-retweets_of_me>

reverse_geocode([ $lat, [ $long, ]][ \%args ])

<https://developer.twitter.com/en/docs/geo/places-near-location/api-reference/get-geo-reverse_geocode>

saved_searches([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/get-saved_searches-list>

search([ $q, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets>

sent_direct_messages([ \%args ])

Aliases: direct_messages_sent

<https://developer.twitter.com/en/docs/direct-messages/sending-and-receiving/api-reference/get-sent-message>

show_friendship([ \%args ])

Aliases: show_relationship

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-friendships-show>

show_list_member([ \%args ])

Aliases: is_list_member

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-members-show>

show_list_subscriber([ \%args ])

Aliases: is_list_subscriber, is_subscriber_lists

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-subscribers-show>

show_saved_search([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/get-saved_searches-show-id>

show_status([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/get-statuses-show-id>

show_user([ $screen_name | $user_id, ][ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-users-show>

suggestion_categories([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-users-suggestions>

trends_available([ \%args ])

<https://developer.twitter.com/en/docs/trends/locations-with-trending-topics/api-reference/get-trends-available>

trends_closest([ \%args ])

<https://developer.twitter.com/en/docs/trends/locations-with-trending-topics/api-reference/get-trends-closest>

trends_place([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/trends/trends-for-location/api-reference/get-trends-place>

user_suggestions([ $slug, ][ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-users-suggestions-slug-members>

user_suggestions_for([ $slug, ][ \%args ])

Aliases: follow_suggestions

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-users-suggestions-slug>

user_timeline([ $screen_name | $user_id, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-user_timeline>

users_search([ $q, ][ \%args ])

Aliases: find_people, search_users

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-users-search>

verify_credentials([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/get-account-verify_credentials>

add_collection_entry([ $id, [ $tweet_id, ]][ \%args ])

<https://developer.twitter.com/en/docs/tweets/curate-a-collection/api-reference/post-collections-entries-add>

add_list_member([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-members-create>

create_block([ $screen_name | $user_id, ][ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/mute-block-report-users/api-reference/post-blocks-create>

create_collection([ $name, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/curate-a-collection/api-reference/post-collections-create>

create_favorite([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/post-favorites-create>

create_friend([ $screen_name | $user_id, ][ \%args ])

Aliases: follow, follow_new, create_friendship

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/post-friendships-create>

create_list([ $name, ][ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-create>

create_media_metadata([ \%args ])

<https://developer.twitter.com/en/docs/media/upload-media/api-reference/post-media-metadata-create>

create_mute([ $screen_name | $user_id, ][ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/mute-block-report-users/api-reference/post-mutes-users-create>

Alias: mute

create_saved_search([ $query, ][ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/post-saved_searches-create>

curate_collection([ \%args ])

<https://developer.twitter.com/en/docs/tweets/curate-a-collection/api-reference/post-collections-entries-curate>

delete_list([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-destroy>

delete_list_member([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-members-destroy>

destroy_block([ $screen_name | $user_id, ][ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/mute-block-report-users/api-reference/post-blocks-destroy>

destroy_collection([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/curate-a-collection/api-reference/post-collections-destroy>

destroy_favorite([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/post-favorites-destroy>

destroy_friend([ $screen_name | $user_id, ][ \%args ])

Aliases: unfollow, destroy_friendship

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/post-friendships-destroy>

destroy_mute([ $screen_name | $user_id, ][ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/mute-block-report-users/api-reference/post-mutes-users-destroy>

Alias: unmute

destroy_saved_search([ $id, ][ \%args ])

Aliases: delete_saved_search

<https://developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/post-saved_searches-destroy-id>

destroy_status([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/post-statuses-destroy-id>

members_create_all([ \%args ])

Aliases: add_list_members

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-members-create_all>

members_destroy_all([ \%args ])

Aliases: remove_list_members

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-members-destroy_all>

move_collection_entry([ $id, [ $tweet_id, [ $relative_to, ]]][ \%args ])

<https://developer.twitter.com/en/docs/tweets/curate-a-collection/api-reference/post-collections-entries-move>

remove_collection_entry([ $id, [ $tweet_id, ]][ \%args ])

<https://developer.twitter.com/en/docs/tweets/curate-a-collection/api-reference/post-collections-entries-remove>

remove_profile_banner([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/post-account-remove_profile_banner>

report_spam([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/mute-block-report-users/api-reference/post-users-report_spam>

retweet([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/post-statuses-retweet-id>

subscribe_list([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-subscribers-create>

unretweet([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/post-statuses-unretweet-id>

unsubscribe_list([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-subscribers-destroy>

update([ $status, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/post-statuses-update>

update_account_settings([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/post-account-settings>

update_collection([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/tweets/curate-a-collection/api-reference/post-collections-update>

update_friendship([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/post-friendships-update>

update_list([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-update>

update_profile([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/post-account-update_profile>

update_profile_background_image([ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/post-account-update_profile_background_image>

update_profile_banner([ $banner, ][ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/post-account-update_profile_banner>

update_profile_image([ $image, ][ \%args ])

<https://developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/post-account-update_profile_image>

upload_media([ $media, ][ \%args ])

Aliases: upload

<https://developer.twitter.com/en/docs/media/upload-media/api-reference/post-media-upload>

direct_messages_events([ \%args ])

<https://developer.twitter.com/en/docs/direct-messages/sending-and-receiving/api-reference/list-events.html>

show_direct_messages_event([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/direct-messages/sending-and-receiving/api-reference/get-event>

destroy_direct_messages_event([ $id, ][ \%args ])

<https://developer.twitter.com/en/docs/direct-messages/sending-and-receiving/api-reference/delete-message-event>

new_direct_messages_event([$text, $recipient_id ] | [ \%event ], [ \%args ])

For simple usage, pass text and recipient ID:

    $client->new_dirrect_messages_event($text, $recipient_id)

For more complex messages, pass a full event structure, for example:

    $client->new_direct_massages_event({
        type => 'message_create',
        message_create => {
            target => { recipient_id => $user_id },
            message_data => {
                text => $text,
                attachment => {
                    type  => 'media',
                    media => { id => $media->{id} },
                },
            },
        },
    })

<https://developer.twitter.com/en/docs/direct-messages/sending-and-receiving/api-reference/new-message>

invalidate_access_token([ \%args ])

Calling this method has the same effect as a user revoking access to the application via Twitter settings. The access token/secret pair will no longer be valid.

This method can be called with client that has been initialized with "access_token" and "access_token_secret" attributes, by passing "-token" and "-token_secret" parameters, or by passing "access_token" and "access_token_secret" parameters.

    $client->invalidate_access_token;
    $client->invalidate_access_token({ -token => $token, -token_secret => $secret });
    $client->invalidate_access_token({
        access_token        => $token,
        access_token_secret => $secret,
    });

Twitter added this method to the API on 2018-09-20.

See <https://developer.twitter.com/en/docs/basics/authentication/api-reference/invalidate_access_token>

Releases

4 releases since Debian 10 (Buster); the text changed 1 time.

  1. 10–11
  2. 12–13

Author

Marc Mims <[email protected]>

From libtwitter-api-perl 1.0006-1 in Debian 13 (Trixie). Parsed by carta from the page's man source.