Publishing videos on TikTok using TikTok API? - tiktok-api

This has been a big mystery to me so I'm gonna ask here in a hope that someone can help me with it.
So, I'm trying to use the TikTok API to Auto Publish videos onto TikTok's account.
I cannot find any information about this on their API docs.
So I did a research and found out that other companies like 'Later' or 'HootSuit' have this Auto Publishing feature for TikTok.
So I signed up on Later to test how they do it. I found out that there are these Scopes/Permissions being used:
user.info.basic,
user.insights,
video.list,
video.insights,
comment.list,
comment.list.manage,
video.publish
and I found those from the URL when I allowed the Later TikTok App to be added to my TikTok account:
https://www.tiktok.com/auth/authorize?client_id=7051484449883553794&client_key=7051484449883553794&redirect_uri=https%3A%2F%2Fapp.later.com%2Fusers%2Fauth%2Ftiktok_business%2Fcallback%3Fstate%3De0af91a683a02ec0636ee1b42e6e9caf60ccc8295252260b&response_type=code&scope=user.info.basic%2Cuser.insights%2Cvideo.list%2Cvideo.insights%2Ccomment.list%2Ccomment.list.manage%2Cvideo.publish&state=e0af91a683a02ec0636ee1b42e6e9caf60ccc8295252260b
My TikTok app (this is the API app), asks for these permissions:
user.info.basic,
video.upload,
Now, I know that is the fist and most probably the main issue here BUT I don't have any option to add those Scopes to my App!
The only scopes that TikTok API mentions and talks about are these:
user.info.basic
video.list
video.upload
which you can see here:
https://developers.tiktok.com/doc/tiktok-api-scopes/
My app now only uploads the video on the users account and the users get a push notification on their app asking them to login to their account and edit/pulish the video!
So there is no auto publishing.
Just to clarify, the user's account is a business account as well as this is a requirement for the TikTok auto publishing to work.
The question is, where and how I can add those scopes/permissions to my App?
are there any other steps that I need to take?

Since you are using a Tiktok Business account, may you should rather use the Marketing APi (https://ads.tiktok.com/marketing_api/docs?id=1753986142651394)
This has video publish scopes too and is a lot different from the Tiktok API you get from Tiktok for developers.
Note:
Tiktok for developers API is geared towards general use, while the Marketing API is for Businesses, hence more features.
Caution
JFYI, If you have a business account, you cannot monetize the content. I am facing the same issue, but i cant move to business account(and Marketing API) for that reason.

Related

Vimeo unity SDK: Is there a way to use a team member's authorization to gain access to main user's videos?

We're working on a unity project involving using unity vimeo sdk (https://github.com/vimeo/vimeo-unity-sdk#setting-up). The client who we are working for has a vimeo account with the videos that needs to be displayed in the application. The client has created a vimeo account for us and added it to team members of their main account, with administrator rights. The client has a vimeo pro account.
After clicking the get token-button and logging in with the team member account created for us and adding the received api token, we now have access to only videos uploaded to that team member's account, but not to the videos that are on the main account. Using an url of the main user's video gives an error in unity:
"[VimeoPlayer] You do not have permission to access to this video. You must be a Vimeo Pro or Business customer and use videos from your own account. https://vimeo.com/upgrade".
We can switch the team account to the client's account in a web browser and modify the videos according to given usage rights, but we can't use the videos of the main user. We also tried logging in to the team account on a browser, switching team role to the client's account, and then doing the authentication through unity, but this didn't give us access to the videos in unity.
We would like to know if there's a way to use the main user's videos on team member account WITHOUT logging in and authorizing with the main account. The only solution we came out is that if the client doesn't want to share the main account's user credentials, they will have to use Unity to log in to vimeo in their end, then send us the token. According to our tests that approach will work, but it's a bit of a hassle.
A few things:
1) This isn't a programming question, it's more of a product support question, and thus isn't a good fit for StackOverflow. Read the guidelines for asking a good question on StackOverflow, and contact Vimeo while logged into your paid account to request support.
2) Vimeo's team membership system doesn't extend to the API since the API can be used outside of that team system. The API can only be used to interact with your own Vimeo account, and you can only read public metadata for other user accounts.
I just ask the original account holder who purchased the Pro subscription to provide the access token by asking them to visit:
https://authy.vimeo.com/auth/vimeo/unity?scope=public%20private%20video_files
He then provided the token, which then worked as expected in Unity.
Vimeo docs do not indicate this requirement.
Additionally #Moderators, on the Vimeo link provided, Vimeo officially indicates to request support via StackOverflow! So the issue was not the original poster, but Vimeo tech staff waiting to use Stackoverflow as a product support channel.

Facebook Marketing API ads_management review

We're trying to use the Facebook Marketing API ads_management permission. We want to use the permission to allow our clients to push the media that was created for them on our app to their personal ad manager
Based on their allowed usage, it sounds like we're utilising this correctly but every app review is being rejected with a fairly generic
Your screencast doesn't show how the use of this permission directly improves the user experience in your app. Unfortunately, we also weren't able to determine this from testing your app manually.
For the first point - our screencast shows a brand/client navigating our app to where all their media lies - connect their facebook account - select the media and then push to the ad manager
This gives us the correct response as long as we use their sandbox environment on the Marketing API
On the second point Unfortunately, we also weren't able to determine this from testing your app manually
We provide test credentials for them to login into our application and go through the exact steps demonstrated in the screencast.
I know these reviews have been giving a number of developers issues but would love to hear if we're missing something really basic in our use because the usecase is really straightforward and not really sure how else to demonstrate it
Thanks

Is Instagram Content Publishing API available in a test environment without being a partner?

I'm looking at setting up an Instagram app so I can push content from my app directly to Instagram. I'm already doing this for Facebook, LinkedIn, and Twitter.
I know that Instagram is in the middle of moving to the Facebook Graph API, and it seems like there are several barriers to even start developing an app.
At the top of the Getting Started link there's a blurb stating that I need to undergo "Business Verification" to use the Instagram Graph API. Do I need to do this in order to use these endpoints in sandbox mode? (Edit: I believe this must be done in order to test the non-beta aspects of the API) In addition, the Content Publishing API seems to be locked down even further, requiring parternship with either Facebook or Instagram, and neither are accepting new applications.
Is there some way to test this in sandox mode without becoming a partner?
(Edit: Testing your app Suggests that I must do business validation in order to use the non-beta aspects, and there's no permission for publish_content, leading me to believe that I must be a business partner to even test this feature. Can anyone confirm?)
Januray 26, 2021
The Content Publishing beta has ended and all developers can now publish media on Instagram Professional accounts. Refer to the Content Publishing guide for usage details.
https://developers.facebook.com/docs/instagram-api/guides/content-publishing

How to use Google Api to upload to a single Youtube channel on a User-less app

I'm building an app that will allow users to upload videos to my Youtube channel. I have checked online about using Google Api to access the data/upload videos, but all references and examples seem to assume videos will be uploaded to the user's youtube channel, hence the process always involves using OAuth to gain approval from the user.
However, in my case the only youtube channel all users will access is mine. And I'm not even asking them to create an account on my app to upload the videos. Is there a way to do this directly from the app.
My app is an iOS app, but if you have a solution in any other language, I welcome your suggestion.
Thanks in advance
I had the same problem not so long ago. Youtube Documentation doesnt make it easy. Even though you getting access to your own Youtube channel, You still need to be authenticated using OAuth. Google makes hard for you to be vulnerable to attacks.
My solution is using a server side(API) application. What you can then do is make your iOS app hit the API.
So the tricky thing is getting the refresh token. Its hardly documented anywhere. What you can then do is follow documentation of your preferred language for the API.
The documentation can be found here https://developers.google.com/youtube/v3/guides/auth/server-side-web-apps
Get the Refresh token:
Step 1 : Hit this url in the browser https://accounts.google.com/o/oauth2/auth?client_id=ClientID_Here&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=https://gdata.youtube.com&response_type=code&access_type=offline
It will make you log in using your youtube credential which is your google account.
You will then have to agree for google to access your account by clicking allow.
At the end it will give you a code.
Step 2 : You should then authenticate using a clientless platform.
(eg instead of browser) Use curl instead. (There plenty of 3 minute tutorials on how to use curl)
Hit this url endpoint :
curl https://accounts.google.com/o/oauth2/token -d "code=CodeFromGoogleOAuth&client_id=ClientIDHere&client_secret=ClientSecretHere&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code"
You should then get a refresh token in the response.
There are alot of examples of how to upload from then on like
https://developers.google.com/youtube/v3/code_samples/dotnet
In the example above you have to avoid using the GoogleWebAuthorizationBroker use Googles one instead. Look for RefreshToken Field
It is not possible to allow third parties to upload videos to a single YouTube account with the YouTube Data API, and that is by design. See this Google Blog, explaining "It’s tempting to design a system in which all videos are uploaded to a single “master” YouTube account, but this is always the wrong approach."
A potential workaround is to use YouTube Direct Lite, which allows you to easily build and moderate a playlist on your YouTube account comprised of videos uploaded by your users on their accounts.

facebook, twitter, youtube app creation and api integration help required... just a small answer required

I am working on PHP application which will be shipped to many users for their own.
App needs to integrate
Facebook api for auto post their web articles to their fb profile/page.
Twitter api for same purpose as above and to search for tweets/users.
Youtube api to upload videos to their user account.
I already have completed the software, Right now software has api settings menu for each of them. Where user create their own app on respective platform and setup app id/secrets etc... IT works fine...
But I am looking for a way where, we use our own app codes, and user only has to click on button which redirect them to their platform and they can allow access to our app. So they dont have to go through their own app creation.
Just like how login with social media things work...
I know thats possible and my question is not about how to do this...
My question is about IF I do that, will that create any App usage limitation issues for users ? For example, if I create my own Youtube app settings from http://console.developers.google.com/ and all users just authorise my app to their account, will it create any issues if all users (may be 2000 users) uploads upto 5 videos per day ? Will the usage limit counted per application or per user access assigned ?
I need the answer for facebook/twitter and youtube. I know some one how has already done this can answer this quickly and easily...
Thanks for reading my question...