Amazon Product Advertising API Scratchpad returning "MethodNotAllowed" every time - amazon-product-api

I am trying to use the Amazon Product Advertising API. I have successfully used it before, but the Wordpress plugin I was using has stopped retrieving Amazon information, and seems to think my credentials are not valid.
I created a new Access Key / Secret Key pair (root, not IAM), but it still did not work.
I tried using the Amazon Product Advertising API Scratchpad with these new credentials, but no matter what I try I get an error "MethodNotAllowed".
I have a suspicion that my credentials are not valid, or that I've lost access to the product advertising API for some reason. However, when I try to sign-up again for Product Advertising API, I get told I've already got access.
I can't find any error messages or warnings in my AWS account.
I'm stumped. Any suggestions greatly appreciated.

Well each API request to Amazon Product API requires a new signature. Here are the steps for calculating the signature for an API request: http://docs.aws.amazon.com/AWSECommerceService/latest/DG/rest-signature.html#rest-signature-examples

Related

What is the request URL for ActiveCollab api cloud?

Im trying to find the structure of the request url that i can send an http post/get requests to but can't seem to find it anywhere?
Can someone help please, I'm new with using AC?
Many thanks!
In ActiveCollab Cloud accounts, if you would like to query a list of projects, you would GET a /projects resource, and it's available at:
https://app.activecollab.com/#ACCOUNT-ID#/api/v1/projects
#ACCOUNT-ID# is ID of your Cloud account.

How to use Google Apps Script setAuthentication?

So, I created an script on google sheets that, basically, selects a set of addresses on a sheet and uses Maps.newGeocoder.geocode() to get geocodes and calculate distances. It works wonderfully, no problems there. However, when I try to authenticate using Maps.setAuthentication(clientId, signingKey);, I just get an error.
I got my credentials from loging into https://console.cloud.google.com/, creating a random project and by going in "Create credentials". When I go into the credentials tab, I can select OAuth2.0 and see clientId and client secret key. I am using these to authenticate. Is it correct? What am I doing wrong? How the hell can I get the credentials? Thanks a lot!
The setAuthentication(clientId, signingKey) method enables the use of an externally established Google Maps APIs Premium Plan account, to leverage additional quota allowances. Your client ID and signing key can be obtained from the Google Enterprise Support Portal.
They are not the same as client ID and client secret key as explained here.
Note that this type of account is not longer available for new customers.
Here some helpful links:
Premium Plan Support
Premium Plan FAQ

Recently got access to the Amazon Product API but all requests come back as "Error 429 - Too many requests"

I recently got access to the Amazon Product API, and I was trying to experiment with some requests both on my Node.JS environment and on ScratchPad.
But all my requests come back as Error 429 - Too many requests. So far, I haven't been able to make any successful requests using the API.
Has anyone had this issue before? How can I solve this?
I had this error message when trying to access the API via the python SDK. I figured out that besides acces_key, secret_key, and partner_tag I needed to set host, region, and marketplace to the country-specific values according to https://webservices.amazon.com/paapi5/documentation/common-request-parameters.html#host-and-region.
While this seems obvious in retrospective, the error message 429 "too many requests" does not really hint to fix that.

503 RequestThrottled : Amazon Product Advertising API CartCreate

I am using scratchpad to explore this api. I am able to use item search and item lookup however I have not been able to successfully use cartCreate a single time. I am getting this error:-
Do i need to ask for a special permission to use cartCreate ?
Error! RequestThrottled
HTTP Status 503: Service Unavailable
AWS Access Key ID: __my_key___. You are submitting requests too quickly. Please retry your requests at a slower rate.
PS: So far I have only generated few sales from my affiliate account and signed up for this api. Could that be a reason for this throttling? Is there any developer account which is not subject to such throttling so that I can continue with the exploratory work.
Thanks
CartCreate has been removed in the new API version. Instead, you have to create your own Add To Cart link or form:
https://webservices.amazon.com/paapi5/documentation/add-to-cart-form.html
In general, you'll want to minimize the number of requests you're making, as it's very easy to bump up against those throttling limits.
Source : https://forums.aws.amazon.com/thread.jspa?threadID=318920
I had exactly the same problem :
I think you explore scratchpad from
https://webservices.amazon.fr/scratchpad/index.html#
with is the old API version
With your account (and mine) I get a disturbing error message : HTTP Status 503
You should use the new scratchpad version for the API 5 of Amazon Product Advertising :
https://webservices.amazon.com/paapi5/scratchpad/index.html
Make the same request, and you should see all is ok

Google Cloud function send call to app hosted on GKE

I would like to load data to my db hosted on GKE, using cloud function (small ETL needs, Cloud function would be great for that case)
I'm working in the same region. my GKE has an internal load balancer exposing an gcloud internal IP.
the method called is working perfectly when it's from Appengine but when doing it with cloud function I have an connexion error : "can't find client at IP"
I would like to know if it is possible ?
if so, what would be the procedure ?
Many thanks !!
Gab
We just released this feature to Beta. You can get started by following our docs:
https://cloud.google.com/functions/docs/connecting-vpc https://cloud.google.com/appengine/docs/standard/python/connecting-vpc
https://cloud.google.com/vpc/docs/configure-serverless-vpc-access
This is not currently possible as of today.
https://issuetracker.google.com/issues/36859738
Thanks for your feedback.
You are totally right. At the moment the instances are only able to receive such requests via the external IP [1].
I have filed a feature request in your behalf so that this functionality might be considered for future deployments. I cannot guarantee this will be implemented or provide an E.T.A. Nevertheless, rest assured that your feedback is always seriously taken.
We also reached out to our Google Cloud representative who confirmed this was a highly requested feature that was being looked at but was unable to provide an ETA as when it would be released.