Ich versuche, mit der Amazon Selling Partner API (SP-API) zu interagieren, um Werbeanfragen über die folgende Flask-App zu senden. Das Zugriffstoken wurde erfolgreich abgerufen, aber wenn ich die Anfrage an den Solicitations-Endpunkt stelle, erhalte ich eine nicht autorisierte Fehlermeldung mit der Meldung:
{
"error": {
"errors": [
{
"code": "Unauthorized",
"details": "The access token you provided is revoked, malformed or invalid.",
"message": "Access to requested resource is denied."
}
]
}
}
Warum erhalte ich die Fehlermeldung „Nicht autorisiert“, obwohl das Zugriffstoken erfolgreich abgerufen wurde?
Könnte dies ein Problem damit sein, wie das Token für die Werbeanfrage verwendet oder signiert wird?
Ich habe überprüft, dass mein Entwicklerprofil in Seller Central für den Werbebereich zugelassen ist. Für jede Hilfe bei der Fehlerbehebung wäre ich sehr dankbar! Was ich versucht habe:
Ich bin dem OAuth-Ablauf gefolgt, um ein Zugriffstoken abzurufen, und habe sowohl das Zugriffstoken als auch das Aktualisierungstoken erfolgreich gespeichert.
Ich habe dann das Zugriffstoken verwendet, um eine POST-Anfrage an den Solicitations-API-Endpunkt zu senden (/solicitations/productReviewAndSellerFeedback).
Ich habe die Anfrage mit AWS Signature Version 4 mit meinen IAM-Benutzeranmeldeinformationen signiert und die Anfrage über die Anfragebibliothek gesendet. Was ich erwartet habe:
Ich habe erwartet, dass die API die Anfrageanfrage verarbeitet und eine Erfolgsantwort (HTTP 200) zurückgibt, die angibt, dass die Anfrage angenommen wurde.
Stattdessen erhielt ich einen nicht autorisierten Fehler (403) mit der Meldung, dass das Zugriffstoken „widerrufen, fehlerhaft oder ungültig“ sei.
Ich versuche, mit der Amazon Selling Partner API (SP-API) zu interagieren, um Werbeanfragen über die folgende Flask-App zu senden. Das Zugriffstoken wurde erfolgreich abgerufen, aber wenn ich die Anfrage an den Solicitations-Endpunkt stelle, erhalte ich eine nicht autorisierte Fehlermeldung mit der Meldung: [code]{ "error": { "errors": [ { "code": "Unauthorized", "details": "The access token you provided is revoked, malformed or invalid.", "message": "Access to requested resource is denied." } ] } } [/code] [code]import boto3 import botocore from botocore.auth import SigV4Auth from botocore.awsrequest import AWSRequest from botocore.credentials import Credentials from flask import Flask, redirect, request, session, url_for, jsonify import requests
@app.route('/solicitations') def solicitations(): access_token = get_spapi_access_token() amazon_order_id = 'ORDER ID' # I put a real one marketplace_id = 'ATVPDKIKX0DER' solicitations_url = f'{SOLICITATIONS_URL}/{amazon_order_id}/solicitations/productReviewAndSellerFeedback?marketplaceIds={marketplace_id}' headers = {'x-amz-access-token': access_token, 'content-type': 'application/json'} request_obj = AWSRequest(method='POST', url=solicitations_url, headers=headers) credentials = get_aws_credentials() SigV4Auth(credentials, 'execute-api', AWS_REGION).add_auth(request_obj) prepared_request = requests.Request( method=request_obj.method, url=request_obj.url, headers=dict(request_obj.headers), data=request_obj.body ).prepare() response = requests.Session().send(prepared_request) return jsonify(response.json()), response.status_code [/code] Warum erhalte ich die Fehlermeldung „Nicht autorisiert“, obwohl das Zugriffstoken erfolgreich abgerufen wurde? Könnte dies ein [url=viewtopic.php?t=26065]Problem[/url] damit sein, wie das Token für die Werbeanfrage verwendet oder signiert wird? Ich habe überprüft, dass mein Entwicklerprofil in Seller Central für den Werbebereich zugelassen ist. Für jede Hilfe bei der Fehlerbehebung wäre ich sehr dankbar! [b]Was ich versucht habe:[/b] [list] [*]Ich bin dem OAuth-Ablauf gefolgt, um ein Zugriffstoken abzurufen, und habe sowohl das Zugriffstoken als auch das Aktualisierungstoken erfolgreich gespeichert. [*]Ich habe dann das Zugriffstoken verwendet, um eine POST-Anfrage an den Solicitations-API-Endpunkt zu senden (/solicitations/productReviewAndSellerFeedback). [*]Ich habe die Anfrage mit AWS Signature Version 4 mit meinen IAM-Benutzeranmeldeinformationen signiert und die Anfrage über die Anfragebibliothek gesendet. [b]Was ich erwartet habe:[/b] [*]Ich habe erwartet, dass die API die Anfrageanfrage verarbeitet und eine Erfolgsantwort (HTTP 200) zurückgibt, die angibt, dass die Anfrage angenommen wurde. [/list] Stattdessen erhielt ich einen nicht autorisierten Fehler (403) mit der Meldung, dass das Zugriffstoken „widerrufen, fehlerhaft oder ungültig“ sei.
Ich habe ein Problem mit IRestResponse im Folgenden:
public async Task GetAccessToken()
{
var client = new RestClient(WebConfigurationManager.AppSettings );
var request = new RestRequest();...
Mit Amazon Products API möchte ich erste Produkte in Kategorien DVD und Amazon Instant Video mit Keyword My Movie gefunden.$amazonEcs = new AmazonECS(AWS_API_KEY, AWS_API_SECRET_KEY, 'com',...
Ich habe in den Entwickleroptionen auf meinem Galaxy S5 darauf geklickt. Das Telefon verursachte Probleme beim Debuggen, daher dachte ich, dass durch Klicken darauf das USB-Debugging aktualisiert...
Wie kann ich die Python Gemini API verwenden, um herauszufinden, ob das Modell das Google -Such -Tool zum Erdung verwendete (und welche Ergebnisse davon waren)? Die Systemanweisung gibt eindeutig...
Ich hatte einige Probleme mit der Konfiguration von Google Cloud-Speicher und kann für das Leben von mir nicht herausfinden, was das Problem ist.public class GoogleCloudStorageServiceImpl implements...