help needed with GetCategorySpecifics, sometimes it works, sometimes I just get a HTML answer instead of the XML, even with the same category etc.
So heres the code I use:
import requests
import xml.etree.ElementTree as ET
def get_category_specifics(app_id, category_id):
    url = "https://api.ebay.com/ws/api.dll"
    headers = {
        "X-EBAY-API-SITEID": "77",  # 77 steht für die deutsche eBay Seite (eBay.de)
        "X-EBAY-API-CALL-NAME": "GetCategorySpecifics",
        "X-EBAY-API-COMPATIBILITY-LEVEL": "967",
        "X-EBAY-API-APP-ID": app_id,  # Ihre eigene App-ID hier einsetzen
    }
    xml_request = f"""
    <?xml version="1.0" encoding="utf-8"?>
    <GetCategorySpecificsRequest xmlns="urn:ebay:apis:eBLBaseComponents">
      <RequesterCredentials>
        <eBayAuthToken>XXX</eBayAuthToken>
      </RequesterCredentials>
      <CategoryID>{category_id}</CategoryID>
    </GetCategorySpecificsRequest>
    """
    response = requests.post(url, headers=headers, data=xml_request)
    response_content = ET.fromstring(response.content)
    return response_content
def print_response_content(response_content):
    print(f"Root element: {response_content.tag}")
    for child in response_content:
        if child.tag.endswith("Recommendations"):
            for item in child:
                if item.tag.endswith("NameRecommendation"):
                    for grandchild in item:
                        if grandchild.tag.endswith("Name"):
                            print(f"Item Specific Name: {grandchild.text}")
# Verwenden Sie Ihre eigene App-ID und Kategorie-ID hier
app_id = "XXX"
category_id = "8720"
response_content = get_category_specifics(app_id, category_id)
print_response_content(response_content)
Followed by other code to sort out the XML, this works if I get back the XML answer from the API.
This is my first post here, and Im not really that much into coding, so I hope your indulgent with me and my question.
If theres a better solution instead of the ebay SDK please let me know.
Richard
The code works from time to time. Same code different results. 90% the answer is a HTML file, 10% its the correct XML file with the data I wanted.