Open
Description
Describe the bug
I'm able to create pins using the python requests package and endpoint provided in the Pinterest API docs but when I try using the SDK I get permissions error.
To Reproduce
Unsuccessful using SDK:
from pinterest.client import PinterestSDKClient
from pinterest.organic.pins import Pin
PinterestSDKClient.set_default_access_token(<token>)
params = {
"board_id": <board_id>,
"ad_account_id": <ad_account>,
"description": <description>,
"link": <link>,
"title": <title>,
"media_source":{
'source_type':'image_base64',
'data': <image>,
'content_type':"image/png"
}
Pin.create(**params)
The above returns the following error:
Reason: Not Found
HTTP response headers: HTTPHeaderDict({'Content-Type': 'application/json', 'Content-Length': '38', 'pinterest-version': 'c7fe355', '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': '83', 'pinterest-generated-by': 'tpp-api-canary-0a0308c3', 'X-RateLimit-Limit': '100, 100;w=1, 1000;w=60', 'X-RateLimit-Remaining': '99', 'X-RateLimit-Reset': '1', 'Cache-Control': 'no-cache, no-store, must-revalidate', 'x-pinterest-rid': '6639680265060241', 'Date': 'Tue, 14 May 2024 16:13:42 GMT', 'Alt-Svc': 'h3=":443"; ma=600', 'Connection': 'keep-alive', 'Set-Cookie': '_ir=0; Max-Age=1800; HttpOnly; Path=/; Secure', 'AKAMAI-GRN': '0.de6533b8.1715703222.1e8acbde', 'X-CDN': 'akamai'})
HTTP response body: {"code":50,"message":"Pin not found."}
The following python request works
import requests
params = {
"board_id": <board_id>,
"ad_account_id": <ad_account>,
"description": <description>,
"link": <link>,
"title": <title>,
"media_source":{
'source_type':'image_base64',
'data': <image>,
'content_type':"image/png"
}
auth = {'Authorization': 'Bearer {}'.format(<token>)}
auth["Content-Type"] = "application/json"
pin = requests.post('https://api.pinterest.com/v5/pins', json=params, headers=self.auth).json()
Screenshot of response using above method:
Additional Details:
- MacOS Sonoma 14.3 M1 chip
- pinterest-api-sdk==0.2.1