Pinterest 404 Media Not Found

blueprint (3).json (7.8 KB)

Hi there; I’m having some issues getting Pinterest to post videos from TikTok. I set up the information as it wants me to in the interest module but I keep getting “Media not found.” I think it might be because I haven’t set up stuff with the Pinterest API, but I’m not very knowledgeable about how to get that set up since I don’t have an app to use.

Any help is appreciated thanks

Spencer

Welcome to the Make community!

Please provide the input/output bundles of the modules by running the scenario, then click the bubble on the top-right of each module, save the contents as a bundle.json file, and upload it here into this discussion thread:

Screenshot_2023-08-29_100800

Following these steps will allow others to assist you here. Thanks!

2 Likes

You to upload media first.
https://developers.pinterest.com/docs/content/content-creation/

2 Likes

Hi there,
Thanks again for replying. I’m not sure if I did it correctly, I copy and pasted the bundle below.

[
{
“cover_image_url”: “http://p16-sign-va.tiktokcdn.com/tos-maliva-p-0068/oIbjIIf8YX85YgQPQuC4QfKQgAeACKAzDPnS7D~tplv-noop.image?x-expires=1696603045&x-signature=3vr1Hw0rdJ9jDYVaiYQ8Wko6K6I%3D”,
“create_time”: “2023-09-18T00:55:36.000Z”,
“duration”: 6,
“expire_time”: “2023-10-06T14:37:25.000Z”,
“height”: 710,
“id”: “7279963258696584454”,
“share_url”: “https://www.tiktok.com/@ldr9883/video/7279963258696584454?utm_campaign=tt4d_open_api&utm_source=awsesa43zk03zkv6”,
“video_description”: “”,
“width”: 320
}
]

[
null
]

Hi Loco,

you need to upload the video first to the Pinterest AWS bucket, then you will be able to post a Pin with it. Check out their documentation here on how to do it:

https://developers.pinterest.com/docs/content/content-creation/#Creating%20video%20Pins

Basically make an API call stating intent to upload a video and it will return URL and values for some variables. Then you use them to upload the video and then you can post the pin.

2 Likes

Hi Stoyan,

I ran the API call but it came back stating: "The operation failed with an error. ENOTFOUND: Service is temporarily unavailable. "

We put this in the body:
image

Hi Loco,

is that on the first module where you state the intent to upload?

Here is what mine looks like:

And this is the result I get:

You then use the upload_url and upload_parameters in a generic HTTP request module to upload the video to the AWS bucket. Then the media_id to check the status and make the post.

2 Likes

Hey Stoyan,

I got the Pinterest API working.

For the HTTP request, am I doing something like this?


^ instead of the Video Post ID under key I should just have the parameters in that field?

Also for the media_id, am I making a new HTTP request?

Hi Loco,

you need all of the parameters you get in in body → upload parameters from the initial API call to pinterest mapped in the next HTTP call. Its a total of 8 parameters and 1 video file you need to send. Here are a couple of screenshots to get you started on what it should look like:

The media_id you get as a response from the first API call module to pinterest. After the upload is done you can use it to make the post. I have a delay of 30 seconds between the upload call and the post call just in case.

2 Likes

Hey Stoyan

I inputted the parameters into the HTTP. I am having trouble with the media_id though.

I put this into the Pinterest module.

It would come back: [400] {“code”:1,“message”:“Invalid request: {‘link’: ‘https://www.pinterest.ca/loco69771/’, ‘title’: ‘test’, ‘board_id’: ‘1075797498427785569’, ‘description’: ‘test’, ‘media_source’: {‘media_id’: ‘https://pinterest-media-upload.s3-accelerate.amazonaws.com/’, ‘is_standard’: False, ‘source_type’: ‘video_id’, ‘cover_image_url’: ‘http://p16-sign-va.tiktokcdn.com/tos-maliva-p-0068/o0kh6ooKECHCkwgAXHNztg1IBOAfAB9oUizyID~tplv-noop.image?x-expires=1697780051&x-signature=Md3Do0YTj8%2BoXanc07lOLhOaGaY%3D’}} (‘https://pinterest-media-upload.s3-accelerate.amazonaws.com/’ does not match ‘^\\d+$’)”}

It seems to be associated with the cover URL but I’m not sure what i need to replace it with.

For reference, this is the layout currently for the automation currently.

Hi Loco,

this is a strange error you are getting. The media_id inside the error is actually the upload url for some reason. Can you check the previous modules and see what their output is?

2 Likes

Hey Stoyan,
I am now getting a different error than I was getting before, might have sent the wrong picture. Same inputs in that module.

Regardless here are the outputs

Module 1:
[
{
“cover_image_url”: “http://p16-sign-va.tiktokcdn.com/tos-maliva-p-0068/o0kh6ooKECHCkwgAXHNztg1IBOAfAB9oUizyID~tplv-noop.image?x-expires=1697941340&x-signature=yx6kIIPht3jtcxiUjFL85DSBIkY%3D”,
“create_time”: “2023-09-18T00:58:12.000Z”,
“duration”: 259,
“expire_time”: “2023-10-22T02:22:20.000Z”,
“height”: 1024,
“id”: “7279963933555870981”,
“share_url”: “https://www.tiktok.com/@ldr9883/video/7279963933555870981?utm_campaign=tt4d_open_api&utm_source=awsesa43zk03zkv6”,
“video_description”: “”,
“width”: 576
}
]
Module 2:
[
{
“body”: {
“media_id”: “5326649345100013552”,
“media_type”: “video”,
“upload_url”: “https://pinterest-media-upload.s3-accelerate.amazonaws.com/”,
“upload_parameters”: {
“x-amz-date”: “20231021T201801Z”,
“x-amz-signature”: “87e673986eda7e35db69e2a5190373e2b1cd221010a5a06411227883219ba584”,
“x-amz-security-token”: “IQoJb3JpZ2luX2VjENz//////////wEaCXVzLWVhc3QtMSJIMEYCIQClKtRgtoUshgGjrohc+GYiJcCYJDE3J6xM1Zi1RQOPEQIhAMkzwmbrpASwyxZZU5gnz9Foc44QTMGqIrnIOEuhpUP7KrkFCPT//////////wEQABoMOTk4MTMxMDMyOTkwIgzJun0QdXraw1aFtN8qjQUo1r50rvd9I7Zw7xEcOMfedZ1/N8gzGqAJ5PlL4n2FPthFa8/Ft60D471KFPcXtqzHDgI0zPd70JfHarNwZoYLCsx83DsVKOMjbPITGQn6yn+ZT91os98QLQ8vi/Y4MyL7jrcCvNtwyCzEs9nEortXVYZ5cOfA3BW1/6Dd2pYnLbxWpmBfv5zbm5TOqV3fIHApoBaazIfxZeT+GvlxmVyZpocKXhtJhi8fj7cLAh5Rnj8jCfToaYuW5VLSZGmtKY2YXXzZTAOCI4h8R6AGnhs2m8C6KmI9AZEQlmtxE2EKvxgiyyXUvE5YsrqNqa3TM754vKD1TpG6rdHulXrvxhC65JZjyeyOmy1i/DKaUXM18/6t+2+N0zJrgmVJzmzaQ1mQn+fSY8jvTZObJboFgfn/9PftnhYNh+I7tbYIuD/RWK0/QRPHc3tEjIZVFwtktEHDhpknl9qKAJwi7UWI3T0hXQtuQ45S8hi0kXiuQCjyxFGUC4icv7CWA0qraU2ncLeVNG7OzYofYKw2Q/Ah/3BG6e4SDpHCHN+pIMG2ZexoZ+K1ToE1DJVoXX7HSFeuXeRggmfkk3wMiCq2HuJJjyJY/HuqfnfbXucGaVoDaqWAhn5g76a1qUwPTSNm0cFNukE02XQJf7pl7YlzbOSleIuCaidYKrxnfThYZYW/MSV37CQ3JK0PXLWWpUK7l/o8thAIxvqUlUPXnuz/3cpBjSoXF+EjW5yaR6jExuHwSVaYrGmoJRn+5HHDHFu4Aekq1dHfV5b5z4oXMC/Oak6piiRxobsv+CXU2wW/86tQsZuuLkE66bZrv55zxiV84ODuevUlQNaj+Zb06rDOHIwAvLTDB7GX4b+5NbTVYoalUzDbxdCpBjqwAVKtq4aFrNbsqUyapvhLhvBgg4ojxx2QwmlXZl0BPCKfGt180lm5qs7OTZ7ZeTeqXoHJyoOtWryh/Ji7+hB66ZRzd6oeRBKuDIRarpFIfjXQ0mzoxVPtPh0FYASH/HOrv07Ue1QWoX1pAoq7XwTv+7I36vbhDFw8UmvsspB73TWAs5Cez0F8YQYGIsg+f/X6co5AYhCtiS38TcjrATm9iRcu6vu+KhfjU5Qyi94cehT6”,
“x-amz-algorithm”: “AWS4-HMAC-SHA256”,
“key”: “uploads/cb/97/0e/2:video:1075797567146731962:5326649345100013552”,
“policy”: “eyJleHBpcmF0aW9uIjoiMjAyMy0xMC0yM1QyMDoxODowMS4wMDBaIiwiY29uZGl0aW9ucyI6W3siYnVja2V0IjoicGludGVyZXN0LW1lZGlhLXVwbG9hZCJ9LFsic3RhcnRzLXdpdGgiLCIka2V5IiwidXBsb2Fkcy9jYi85Ny8wZSJdLHsieC1hbXotY3JlZGVudGlhbCI6IkFTSUE2UVpKNjRPUExUNlQ3V01YLzIwMjMxMDIxL3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7IngtYW16LWFsZ29yaXRobSI6IkFXUzQtSE1BQy1TSEEyNTYifSx7IngtYW16LWRhdGUiOiIyMDIzMTAyMVQyMDE4MDFaIn0sWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsMCw1MzY4NzA5MTIwXSxbImVxIiwiJENvbnRlbnQtVHlwZSIsIm11bHRpcGFydC9mb3JtLWRhdGEiXSx7IngtYW16LXNlY3VyaXR5LXRva2VuIjoiSVFvSmIzSnBaMmx1WDJWakVOei8vLy8vLy8vLy93RWFDWFZ6TFdWaGMzUXRNU0pJTUVZQ0lRQ2xLdFJndG9Vc2hnR2pyb2hjK0dZaUpjQ1lKREUzSjZ4TTFaaTFSUU9QRVFJaEFNa3p3bWJycEFTd3l4WlpVNWduejlGb2M0NFFUTUdxSXJuSU9FdWhwVVA3S3JrRkNQVC8vLy8vLy8vLy93RVFBQm9NT1RrNE1UTXhNRE15T1Rrd0lnekp1bjBRZFhyYXcxYUZ0TjhxalFVbzFyNTBydmQ5STdadzd4RWNPTWZlZFoxL044Z3pHcUFKNVBsTDRuMkZQdGhGYTgvRnQ2MEQ0NzFLRlBjWHRxekhEZ0kwelBkNzBKZkhhck53Wm9ZTENzeDgzRHNWS09NamJQSVRHUW42eW4rWlQ5MW9zOThRTFE4dmkvWTRNeUw3anJjQ3ZOdHd5Q3pFczluRW9ydFhWWVo1Y09mQTNCVzEvNkRkMnBZbkxieFdwbUJmdjV6Ym01VE9xVjNmSUhBcG9CYWF6SWZ4WmVUK0d2bHhtVnlacG9jS1hodEpoaThmajdjTEFoNVJuajhqQ2ZUb2FZdVc1VkxTWkdtdEtZMllYWHpaVEFPQ0k0aDhSNkFHbmhzMm04QzZLbUk5QVpFUWxtdHhFMkVLdnhnaXl5WFV2RTVZc3JxTnFhM1RNNzU0dktEMVRwRzZyZEh1bFhydnhoQzY1SlpqeWV5T215MWkvREthVVhNMTgvNnQrMitOMHpKcmdtVkp6bXphUTFtUW4rZlNZOGp2VFpPYkpib0ZnZm4vOVBmdG5oWU5oK0k3dGJZSXVEL1JXSzAvUVJQSGMzdEVqSVpWRnd0a3RFSERocGtubDlxS0FKd2k3VVdJM1QwaFhRdHVRNDVTOGhpMGtYaXVRQ2p5eEZHVUM0aWN2N0NXQTBxcmFVMm5jTGVWTkc3T3pZb2ZZS3cyUS9BaC8zQkc2ZTRTRHBIQ0hOK3BJTUcyWmV4b1orSzFUb0UxREpWb1hYN0hTRmV1WGVSZ2dtZmtrM3dNaUNxMkh1SkpqeUpZL0h1cWZuZmJYdWNHYVZvRGFxV0FobjVnNzZhMXFVd1BUU05tMGNGTnVrRTAyWFFKZjdwbDdZbHpiT1NsZUl1Q2FpZFlLcnhuZlRoWVpZVy9NU1YzN0NRM0pLMFBYTFdXcFVLN2wvbzh0aEFJeHZxVWxVUFhudXovM2NwQmpTb1hGK0VqVzV5YVI2akV4dUh3U1ZhWXJHbW9KUm4rNUhIREhGdTRBZWtxMWRIZlY1YjV6NG9YTUMvT2FrNnBpaVJ4b2JzditDWFUyd1cvODZ0UXNadXVMa0U2NmJacnY1NXp4aVY4NE9EdWV2VWxRTmFqK1piMDZyRE9ISXdBdkxUREI3R1g0Yis1TmJUVllvYWxVekRieGRDcEJqcXdBVkt0cTRhRnJOYnNxVXlhcHZoTGh2QmdnNG9qeHgyUXdtbFhabDBCUENLZkd0MTgwbG01cXM3T1RaN1plVGVxWG9ISnlvT3RXcnloL0ppNytoQjY2WlJ6ZDZvZVJCS3VESVJhcnBGSWZqWFEwbXpveFZQdFBoMEZZQVNIL0hPcnYwN1VlMVFXb1gxcEFvcTdYd1R2KzdJMzZ2YmhERnc4VW12c3NwQjczVFdBczVDZXowRjhZUVlHSXNnK2YvWDZjbzVBWWhDdGlTMzhUY2pyQVRtOWlSY3U2dnUrS2hmalU1UXlpOTRjZWhUNiJ9XX0=”,
“x-amz-credential”: “ASIA6QZJ64OPLT6T7WMX/20231021/us-east-1/s3/aws4_request”,
“Content-Type”: “multipart/form-data”
}
},
“headers”: {
“connection”: “close”,
“content-length”: “4151”,
“content-type”: “application/json”,
“pinterest-version”: “ac6419c”,
“x-content-type-options”: “nosniff”,
“x-frame-options”: “DENY”,
“access-control-allow-credentials”: “true”,
“p3p”: “CP="Pinterest does not have a P3P policy. You can find our privacy policy at https://www.pinterest.com/_/_/policy/privacy-policy.\”",
“x-envoy-upstream-service-time”: “301”,
“x-ratelimit-limit”: “100, 100;w=1, 100;w=60”,
“x-ratelimit-remaining”: “99”,
“x-ratelimit-reset”: “1”,
“cache-control”: “no-cache, no-store, must-revalidate”,
“age”: “0”,
“set-cookie”: [
“_ir=0; Max-Age=1800; HttpOnly; Path=/; Secure”
],
“x-pinterest-rid”: “1647875705898308”,
“date”: “Sat, 21 Oct 2023 20:18:01 GMT”,
“vary”: “Accept-Encoding”,
“x-cdn”: “fastly”,
“alt-svc”: “h3=":443";ma=600”,
“pinterest-generated-by”: “tpp-api-prod-0a030acb”
},
“statusCode”: 201
}
]
Module 3:
[
{
“statusCode”: 400,
“headers”: [
{
“name”: “content-type”,
“value”: “application/xml”
},
{
“name”: “transfer-encoding”,
“value”: “chunked”
},
{
“name”: “connection”,
“value”: “close”
},
{
“name”: “x-amz-request-id”,
“value”: “SMCEZFT8DCZ2PHAH”
},
{
“name”: “x-amz-id-2”,
“value”: “SC4ScyxibvvGm4Cpi1D/Jo0mFkKb8zjLTEEyBWHX0IjU5Fr7te9eCSa+BWD4KBYpH28SQmD99Ys=”
},
{
“name”: “date”,
“value”: “Sat, 21 Oct 2023 20:18:01 GMT”
},
{
“name”: “server”,
“value”: “AmazonS3”
},
{
“name”: “x-cache”,
“value”: “Error from cloudfront”
},
{
“name”: “via”,
“value”: “1.1 063f496e2a2a07219bf3fbec39d54de4.cloudfront.net (CloudFront)”
},
{
“name”: “x-amz-cf-pop”,
“value”: “IAD66-C1”
},
{
“name”: “x-amz-cf-id”,
“value”: “FrndDCctxVVLUPGvmXiImKaZOO9S-d2-jS-RUCzT66Q-Ya_pLXFX6w==”
}
],
“cookieHeaders”: ,
“data”: “<?xml version=\"1.0\" encoding=\"UTF-8\"?>\nInvalidArgumentPOST requires exactly one file upload per request.file0SMCEZFT8DCZ2PHAHSC4ScyxibvvGm4Cpi1D/Jo0mFkKb8zjLTEEyBWHX0IjU5Fr7te9eCSa+BWD4KBYpH28SQmD99Ys=”,
“fileSize”: 348
}
]

Hi Loco,

you can do this to check the status of the video:

Also after the video upload module I have added a sleep 30 secs module to give it some time to process the upload request. See if this helps.

2 Likes

Hey Loco,
Did you find the solution? I get the message that I am not allowed to save pins.

Hey Stoyan,

Sorry, I haven’t responded in a while.

Do you know how to retrieve the video from tiktok, I ended up doing a strange method with the help of a colleague. We are aware this does not work in the long run but we ended up hard coding an mp4 into the HTTP request. Would I need to use a tiktok api call module?

Hi !

I am trying to create the same scenario : Instagram Reels to Pinterest vidéo.

But I have an 201 error on Pinterest API and I really don’t understand where I have to add the Instagram video file on the scenario ?!

blueprint (1).json (20.4 KB)

Hi Loco,

sorry for the much delayed response. The modules available in Make are for an older TikTok API version, so you may need to use generic HTTP calls for it. So far I have had zero success rate with the TikTok support team.

2 Likes

Hello there,

I have no idea why the 201 response is being flagged as an error when it is not (my pinterest scenarios all run in to the same issue, I guess its something coming from their server). Depending on your use case, either ignore it, or add a break function to retry the scenario till it goes away.

As for where to add the video → in the HTTP Make a Request module.

2 Likes

In that case you’ll need to create a support ticket with Make customer support team to get it fixed/updated.

For quicker assistance with bugs and technical problems, you may want to contact support directly. They respond very quickly and update you frequently on the status of their investigation.

Hope you can share the resolution with us if you manage to solve this problem!

2 Likes