I've been creating adsets, ads and creatives with FB ads API for a long time now, more precisely using the python SDK. For most of my campaign, I always encounter a 503 error at some point, when creating creatives by batch.
When trying to create 5 creatives, 4 out of 5 are successfully created, and for one of them (the 4th one in this case) I get the following error:
{"error":
{"message": "Service temporarily unavailable",
"type":"FacebookApiException",
"is_transient":false,
"code":2,
"error_subcode":1487172,
"error_user_title":"Could not save creative",
"error_user_msg":"Could not save creative"
}
I already created an issue on the SDK repo but I really think it's a problem of the API itself. Any idea? Are there any rate limitations? I couldn't find any documentation nor similar issue.
Thanks a lot!
The error subcode 1487172 is listed on the Marketing API Error Codes Facebook documentation page so it doesn't strike me as a rate limit error which is documented at https://developers.facebook.com/docs/marketing-api/api-rate-limiting.
For a batch request of 5 creatives do you always see 1 fail? Is there anything consistent between the failed creatives to suggest something wrong in the request?
You could also search the known bug list or create a new one, it does sound like this is an issue on the API side. See https://developers.facebook.com/bugs/
Related
I am trying to test a bot on the Spot Test Network but when I try to do acc = client.get_account() to access some account info that is needed it raises the following error APIError(code=-2015): Invalid API-key, IP, or permissions for action. I have tried finding a solution but can't find anything besides a step i dindn't do from the tutorial on the Binance Spot Test Network
the step says:
Follow the official Spot API Key documentation to replace the API endpoint URLs with the following values:
https://api.binance.com/api --> https://testnet.binance.vision/api
wss://stream.binance.com:9443/ws --> wss://testnet.binance.vision/ws
wss://stream.binance.com:9443/stream --> wss://testnet.binance.vision/stream
When I look in the documentation I cant find anything that would help with this problem.
I am not sure this is the solution but it is the only thing I could find on it.
Have you changed the baseurl to the testnet. If the client is still sending request to production, you will get this error even with testnet API key. Because the production server can't find it.
You should specify the testnet when initialising the client instance.
https://dev.binance.vision/t/binance-testnet-environments/99
https://dev.binance.vision/t/why-do-i-see-this-error-invalid-api-key-ip-or-permissions-for-action/93
In case you are using the python-binance library, see the documentation here for switching to the Testnet:
https://python-binance.readthedocs.io/en/latest/overview.html#using-the-spot-futures-or-vanilla-options-testnet
I have a python job which uses beautiful soup to scrape data from the web.I have tried executing the script using U-SQL, however I keep receiving a generic error message :
An unhandled exception from user code has been reported
I haven't explored the error too much as I am not sure if it is possible to scrape the web through U-SQL.
Is this possible using U-SQL, and if not which Azure resource can i use to schedule this script and store the results on Azure data lake store?
Also, it normally would be helpful if you provided the complete error code and exactly how you want to scrape the web.
I make the random assumption right now that you wrote some code that accessed web pages and tried to run it from within U-SQL. If that is correct, you will get blocked by that the U-SQL container blocks all external network access. For more details why that is done, see the previous answer here.
Hi I'm a PM from the Azure Data Lake team and I'd love to help out with this. I just need some clarification first about what you're trying to do. Could you reach out to me at mabasile(at)microsoft.com with the job ID of the failed job? (Any sensitive information can of course be scrubbed out). That'll be the best way to figure out exactly what you're trying to do and if it's possible on ADL.
Thanks, and I hope to hear from you soon!
Matt Basile
Azure Data Lake Analytics
Update: Confirming Michael Rys's answer - you cannot call external services through U-SQL, because if ADLA scales out to hundreds of vertices and each vertex makes a separate call, you could end up DDOSing the service, so ADLA blocks external calls.
I am trying to download a plot for almost 25 000 movies with the usage of imdbpy module for python. To speed up, I'm using Pool function from Multiprocessing module. However after almost 100 requests the 503 error occurs with a following message: Service Temporarily Unavailable. After 10-15 minutes I can process again but after approximately 20 requests the same error occurs again.
I am aware that it might be a simple block from the api to prevent too many calls however I can't find any info about maximum number of requests per time unit on the web.
Do you have any idea how to process so many calls without being shutdown? Moreover, do you know where I can find the documentation of imdb api?
Best
Please, don't do it.
Scraping is forbidden by IMDb's terms of service, and IMDbPY was never intended to be used to mass-scrape the web site: in fact it's explicitly designed to fetch a single movie at a time.
In theory IMDbPY can manage the plain text data files they distribute, but unfortunately they recently changed both the format and the content of the data.
IMDb has no APIs that I know of; if you have to manage such a huge portion of their data, you have to get a licence.
Please consider the use of http://www.omdbapi.com/
I want to explore and use the driver behavior service in my application. Unfortunately I got stuck as I'm getting empty response from getAnalyzedTripSummary API instead Trip UUID.
Here are the steps I've followed.
I've added the services called Driver behavior and Context Mapping to my application #Bluemix.
Pushed multiple sample data packets to the Driver Behavior using "sendCarProbe" API
Sent Job Request using "sendJobRequest" API with from and to dates as post data.
Tried "getJobInfo" API, which results the status of job "job_status" : "SUCCEEDED")
Tried "getAnalyzedTripSummaryList" to get trip_uuid. But
its resulting empty. []
Could someone help me to understand what's wrong and why I'm getting empty response?
I think your procedure is OK.
There are following possibilities not to get valid analysis result.
(1) In current Driving Behavior Analysis, it requires at least 10 valid gps points within a trip (trip_id) on a vehicle (trip_id). Please check your data which is used on "sendCarProbe" API.
(2) Please check "sendJobRequest" API's from and to date (yyyy-mm-dd) really matches with your car probe timestamp.
I've been using Twython (https://github.com/ryanmcgrath/twython) to tweet photos, description and a link. So on Twitter it is displayed as "...description... ...link... ...pic.twitter.com/XXX..."
The problem i have encountered is that these Twitter API requests used for the photo uploads quite often fail with: (403) "Forbidden: The request is understood, but it has been refused. An accompanying error message will explain why. This code is used when requests are being denied due to update limits. -- Error creating status."
A few notes:
https://upload.twitter.com is used for uploads, some sources indicate that using api.twitter.com or just HTTP (no SSL) might cause problems
Daily photo upload limit of 30 has NOT been reached by Twitter accounts that experience the problem
The tweet does NOT exceed 140 characters (I tried with just 2 word description of the photo and it still failed)
Does anyone have an idea what's wrong?
Thanks a lot.
I hit the same problem and as it turned out, the solution is to send status message encoded into UTF-8. I added debug print statement and my status output looked like this:
\u042d\u0442\u043e\u0442 \u0441\u0442\u0430\u0442\u0443\u0441 \u0431\u044b\u043b \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u043e\u043c \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b
To convert it into UTF-8 it was necessary to do:
status.decode('unicode-escape').encode('utf-8')
> Этот статус был получен парсингом веб-страницы