From f10d7a5fd645fef86768a5d5a0282da574c8e37c Mon Sep 17 00:00:00 2001 From: Brian Schroeder Date: Thu, 6 May 2021 14:14:22 -0400 Subject: [PATCH 1/2] add method to get music object by api --- TikTokApi/tiktok.py | 17 +++++++++++++++++ tests/test_getMusicObjectFullByApi.py | 12 ++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 tests/test_getMusicObjectFullByApi.py diff --git a/TikTokApi/tiktok.py b/TikTokApi/tiktok.py index 812f7d11..c02f929d 100644 --- a/TikTokApi/tiktok.py +++ b/TikTokApi/tiktok.py @@ -879,6 +879,23 @@ def get_music_object_full(self, id, **kwargs): j_raw = self.__extract_tag_contents(r.text) return json.loads(j_raw)["props"]["pageProps"]["musicInfo"] + def get_music_object_full_by_api(self, id, **kwargs): + """Discover page, consists of music""" + ( + region, + language, + proxy, + maxCount, + did, + ) = self.__process_kwargs__(kwargs) + kwargs["custom_did"] = did + + api_url = "{}node/share/music/-{}?{}".format( + BASE_URL, id, self.__add_new_params__() + ) + res = self.get_data(url=api_url, **kwargs) + return res['musicInfo'] + def by_hashtag(self, hashtag, count=30, offset=0, **kwargs) -> dict: """Returns a dictionary listing TikToks with a specific hashtag. diff --git a/tests/test_getMusicObjectFullByApi.py b/tests/test_getMusicObjectFullByApi.py new file mode 100644 index 00000000..c1472e79 --- /dev/null +++ b/tests/test_getMusicObjectFullByApi.py @@ -0,0 +1,12 @@ +from TikTokApi import TikTokApi +import os + +api = TikTokApi.get_instance( + custom_verifyFp=os.environ.get("verifyFp", None), use_test_endpoints=True +) + + +def test_get_music_object_full_by_api(): + music_id = "6819262113299565318" + res = api.get_music_object_full_by_api(music_id) + assert res['music']['id'] == music_id From dabad422bb42632f02a215fc2f240b559341cc53 Mon Sep 17 00:00:00 2001 From: Brian Schroeder Date: Thu, 6 May 2021 14:16:33 -0400 Subject: [PATCH 2/2] woops --- TikTokApi/tiktok.py | 1 - 1 file changed, 1 deletion(-) diff --git a/TikTokApi/tiktok.py b/TikTokApi/tiktok.py index c02f929d..de7546ac 100644 --- a/TikTokApi/tiktok.py +++ b/TikTokApi/tiktok.py @@ -880,7 +880,6 @@ def get_music_object_full(self, id, **kwargs): return json.loads(j_raw)["props"]["pageProps"]["musicInfo"] def get_music_object_full_by_api(self, id, **kwargs): - """Discover page, consists of music""" ( region, language,