# Suche nach Link

**URL:** <https://meta.discourse.org/t/search-by-link/339422>\
**Category:** Development\
**Tags:** search\
**Created:** [30. November 2024 um 01:43 UTC](https://meta.discourse.org/t/search-by-link/339422 "2024-11-30T01:43:27Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![David\_Ghost](https://avatars.discourse-cdn.com/v4/letter/d/c37758/32.png) [@David\_Ghost](https://meta.discourse.org/u/David_Ghost)\
**Post date:** [7. Dezember 2024 um 20:16 UTC](https://meta.discourse.org/t/search-by-link/339422/8 "2024-12-07T20:16:53Z")

</div>

Danke für deine Antwort

Ich benutze diese Automatisierung. Sie funktioniert sehr gut, solange der Link nicht 100 Zeichen überschreitet. Wenn er das tut, wird er als nicht existent zurückgegeben, obwohl es ein Thema mit diesem Link gibt.

```python
async def search_discourse_topic(session, link):
    headers = {"Api-Key": USER_API_KEY, "Api-Username": USER_ID}
    cleaned_link = clean_url(link) # Bereinigt die angegebene URL, um Konsistenz zu gewährleisten
    try:
        log(f"Searching for topic with link: {cleaned_link}") # Protokolliert den Beginn der Suche
        async with session.get(f"{DISCOURSE_API_URL}/search.json", headers=headers, params={"q": cleaned_link}) as response:
            search_results = await response.json()
            topics = search_results.get("topics", [])
            if not topics:
                log(f"No topics found for link: {cleaned_link}") # Protokolliert, wenn keine Ergebnisse gefunden werden
            for topic in topics:
                if cleaned_link in topic.get("blurb", ""): # Prüft, ob der Link in der Topic-Beschreibung vorkommt
                    log(f"Found existing topic with link: {cleaned_link}") # Protokolliert, wenn ein passendes Thema gefunden wird
                    return topic["id"]
    except Exception as e:
        log(f"Error searching for topic with link: {e}")
    return None

```

---

_[View the full topic](https://meta.discourse.org/t/search-by-link/339422)._
