Add Client.get_space_tweets
authorHarmon <Harmon758@gmail.com>
Sun, 20 Feb 2022 00:32:31 +0000 (18:32 -0600)
committerHarmon <Harmon758@gmail.com>
Sun, 20 Feb 2022 00:32:31 +0000 (18:32 -0600)
docs/client.rst
tests/test_client.py
tweepy/client.py

index b6dc18f1e55cac1f4e9d7e7682f3a0f8a61f28a4..75865eace803cd4978123c21c805f198d1611bfe 100644 (file)
     +--------------------------------------------------------------+----------------------------------------+
     | `GET /2/spaces/:id/buyers`_                                  | :meth:`Client.get_space_buyers`        |
     +--------------------------------------------------------------+----------------------------------------+
+    | `GET /2/spaces/:id/tweets`_                                  | :meth:`Client.get_space_tweets`        |
+    +--------------------------------------------------------------+----------------------------------------+
     | `GET /2/spaces/by/creator_ids`_                              | :meth:`Client.get_spaces`              |
     +--------------------------------------------------------------+----------------------------------------+
     | .. centered:: :ref:`Lists`                                                                            |
 .. _GET /2/spaces: https://developer.twitter.com/en/docs/twitter-api/spaces/lookup/api-reference/get-spaces
 .. _GET /2/spaces/:id: https://developer.twitter.com/en/docs/twitter-api/spaces/lookup/api-reference/get-spaces-id
 .. _GET /2/spaces/:id/buyers: https://developer.twitter.com/en/docs/twitter-api/spaces/lookup/api-reference/get-spaces-id-buyers
+.. _GET /2/spaces/:id/tweets: https://developer.twitter.com/en/docs/twitter-api/spaces/lookup/api-reference/get-spaces-id-tweets
 .. _GET /2/spaces/by/creator_ids: https://developer.twitter.com/en/docs/twitter-api/spaces/lookup/api-reference/get-spaces-by-creator-ids
 .. |List Tweets lookup| replace:: *List Tweets lookup*
 .. _GET /2/lists/:id/tweets: https://developer.twitter.com/en/docs/twitter-api/lists/list-tweets/api-reference/get-lists-id-tweets
@@ -392,6 +395,8 @@ Spaces lookup
 
 .. automethod:: Client.get_space_buyers
 
+.. automethod:: Client.get_space_tweets
+
 Lists
 =====
 
index 36b35bac12d366356caf9be63fd0324546c22086..e3197cca93fa7ea36fdeef9d313bbc0a89df56cf 100644 (file)
@@ -160,6 +160,8 @@ class TweepyTestCase(unittest.TestCase):
 
     # TODO: Test Client.get_space_buyers
 
+    # TODO: Test Client.get_space_tweets
+
     @tape.use_cassette("test_get_list_tweets.yaml", serializer="yaml")
     def test_get_list_tweets(self):
         list_id = 84839422  # List ID for Official Twitter Accounts (@Twitter)
index 5854d1f4e2b63bfd38771942dccb7d9438e4ea75..1af2c74e26eed80d2f93962c91daa223e67e7f00 100644 (file)
@@ -2083,6 +2083,48 @@ class Client:
             ), data_type=User
         )
 
+    def get_space_tweets(self, id, **params):
+        """get_space_tweets(id, *, expansions, media_fields, place_fields, \
+                            poll_fields, tweet_fields, user_fields)
+
+        Returns Tweets shared in the requested Spaces.
+
+        .. versionadded:: 4.6
+
+        Parameters
+        ----------
+        id : str
+            Unique identifier of the Space containing the Tweets you'd like to
+            access.
+        expansions : Union[List[str], str]
+            :ref:`expansions_parameter`
+        media_fields : Union[List[str], str]
+            :ref:`media_fields_parameter`
+        place_fields : Union[List[str], str]
+            :ref:`place_fields_parameter`
+        poll_fields : Union[List[str], str]
+            :ref:`poll_fields_parameter`
+        tweet_fields : Union[List[str], str]
+            :ref:`tweet_fields_parameter`
+        user_fields : Union[List[str], str]
+            :ref:`user_fields_parameter`
+
+        Returns
+        -------
+        Union[dict, requests.Response, Response]
+
+        References
+        ----------
+        https://developer.twitter.com/en/docs/twitter-api/spaces/lookup/api-reference/get-spaces-id-tweets
+        """
+        return self._make_request(
+            "GET", f"/2/spaces/{id}/tweets", params=params,
+            endpoint_parameters=(
+                "expansions", "media.fields", "place.fields", "poll.fields",
+                "tweet.fields", "user.fields"
+            ), data_type=Tweet
+        )
+
     # List Tweets lookup
 
     def get_list_tweets(self, id, *, user_auth=False, **params):