Add Activepieces integration for workflow automation

- Add Activepieces fork with SmoothSchedule custom piece
- Create integrations app with Activepieces service layer
- Add embed token endpoint for iframe integration
- Create Automations page with embedded workflow builder
- Add sidebar visibility fix for embed mode
- Add list inactive customers endpoint to Public API
- Include SmoothSchedule triggers: event created/updated/cancelled
- Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
poduck
2025-12-18 22:59:37 -05:00
parent 9848268d34
commit 3aa7199503
16292 changed files with 1284892 additions and 4708 deletions

View File

@@ -0,0 +1,33 @@
{
"extends": [
"../../../../.eslintrc.base.json"
],
"ignorePatterns": [
"!**/*"
],
"overrides": [
{
"files": [
"*.ts",
"*.tsx",
"*.js",
"*.jsx"
],
"rules": {}
},
{
"files": [
"*.ts",
"*.tsx"
],
"rules": {}
},
{
"files": [
"*.js",
"*.jsx"
],
"rules": {}
}
]
}

View File

@@ -0,0 +1,7 @@
# pieces-google-search-console
This library was generated with [Nx](https://nx.dev).
## Building
Run `nx build pieces-google-search-console` to build the library.

View File

@@ -0,0 +1,7 @@
{
"name": "@activepieces/piece-google-search-console",
"version": "0.0.9",
"dependencies": {
"googleapis": "129.0.0"
}
}

View File

@@ -0,0 +1,65 @@
{
"name": "pieces-google-search-console",
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "packages/pieces/community/google-search-console/src",
"projectType": "library",
"release": {
"version": {
"currentVersionResolver": "git-tag",
"preserveLocalDependencyProtocols": false,
"manifestRootsToUpdate": [
"dist\\{projectRoot}"
]
}
},
"tags": [],
"targets": {
"build": {
"executor": "@nx/js:tsc",
"outputs": [
"{options.outputPath}"
],
"options": {
"outputPath": "dist/packages/pieces/community/google-search-console",
"tsConfig": "packages/pieces/community/google-search-console/tsconfig.lib.json",
"packageJson": "packages/pieces/community/google-search-console/package.json",
"main": "packages/pieces/community/google-search-console/src/index.ts",
"assets": [
"packages/pieces/community/google-search-console/*.md",
{
"input": "packages/pieces/community/google-search-console/src/i18n",
"output": "./src/i18n",
"glob": "**/!(i18n.json)"
}
],
"buildableProjectDepsInPackageJsonType": "dependencies",
"updateBuildableProjectDepsInPackageJson": true
},
"dependsOn": [
"^build",
"prebuild"
]
},
"nx-release-publish": {
"options": {
"packageRoot": "dist\\{projectRoot}"
}
},
"lint": {
"executor": "@nx/eslint:lint",
"outputs": [
"{options.outputFile}"
]
},
"prebuild": {
"executor": "nx:run-commands",
"options": {
"cwd": "packages/pieces/community/google-search-console",
"command": "bun install --no-save --silent"
},
"dependsOn": [
"^build"
]
}
}
}

View File

@@ -0,0 +1,51 @@
{
"\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes": "\n 1. Anmelden bei [Google Cloud Console](https://console.cloud.google.com/).\n 2. Erstellen Sie ein neues Projekt oder Sie können ein bestehendes Projekt verwenden.\n 3. Gehen Sie zu **APIs & Services** und klicken Sie auf **APIs & Services**.\n 4. Suche nach **Google Search Console API** in der Suchleiste und aktiviere diese.\n Gehe zum **OAuth consent screen** und wähle **External** Typ und klicke auf Erstellen.\n 6. Geben Sie App-Name, Benutzer-Support-E-Mail und Entwickler-Kontaktinformationen ein. Klicken Sie auf die Schaltfläche Speichern und fortfahren.\n Klicken Sie auf **Add or Remove Scopes** und fügen Sie folgende Bereiche hinzu und klicken Sie auf Update.\n - https://www.googleapis. om/auth/webmasters\n 8. Klicken Sie auf Speichern und Weiter um den Schritt zu beenden.\n 9. Klicken Sie auf den Button Benutzer hinzufügen und fügen Sie eine Test-E-Mail hinzu. Sie können Ihre eigene E-Mail hinzufügen). hen klicken Sie schließlich auf Speichern und fortfahren, um den Test User Teil zu beenden.\n 10. Gehen Sie zu **Anmeldeinformationen**. Klicke auf den Button **Anmeldeinformationen erstellen** und wähle die Option **OAuth client ID** aus.\n 11. Wählen Sie den Anwendungstyp als **Web Application** aus und füllen Sie das Feld Name aus.\n 12. Fügen Sie https://cloud.activepieces.com/redirect im Feld **Autorisierte Weiterleitungs-URIs** hinzu und klicken Sie auf den Erstellen-Button.\n 13. Kopiere **Client-ID** und **Client-Geheimnis**.",
"Search Analytics": "Suchanalytik",
"List Sitemaps": "Sitemaps auflisten",
"Submit a Sitemap": "Sitemap absenden",
"List Sites": "Sites auflisten",
"Add a Site": "Site hinzufügen",
"Delete a Site": "Site löschen",
"URL Inspection": "URL-Prüfung",
"Custom API Call": "Eigener API-Aufruf",
"Query traffic data for your site using the Google Search Console API.": "Abfragen von Traffic-Daten für Ihre Website mit der Google Search Console API.",
"List all your sitemaps for a given site": "Alle Ihre Sitemaps für eine bestimmte Site auflisten",
"Submits a sitemap for a site.": "Sendet eine Sitemap für eine Website.",
"Lists the user's Search Console sites.": "Listet die Suchkonsolen des Benutzers auf.",
"Adds a site to the set of the user's sites in Search Console.": "Fügt eine Seite zu den Sites des Benutzers in Suchkonsole hinzu.",
"Removes a site from the set of the user's Search Console sites.": "Entfernt eine Seite aus dem Satz der Suchkonsolen-Sites des Benutzers.",
"Use the URL Inspection action to check the status and presence of a specific page within Google's index.": "Verwenden Sie die URL-Prüfung, um den Status und das Vorhandensein einer bestimmten Seite innerhalb des Google-Index zu überprüfen.",
"Make a custom API call to a specific endpoint": "Einen benutzerdefinierten API-Aufruf an einen bestimmten Endpunkt machen",
"Site URL": "Site-URL",
"Start Date": "Startdatum",
"End Date": "Enddatum",
"Dimensions": "Abmessungen",
"Filters": "Filter",
"Aggregation Type": "Aggregationstyp",
"Row Limit": "Zeilenlimit",
"Start Row": "Start-Zeile",
"Sitemap Path": "Sitemap Pfad",
"URL to Inspect": "URL zu untersuchen",
"Method": "Methode",
"Headers": "Kopfzeilen",
"Query Parameters": "Abfrageparameter",
"Body": "Körper",
"Response is Binary ?": "Antwort ist binär?",
"No Error on Failure": "Kein Fehler bei Fehler",
"Timeout (in seconds)": "Timeout (in Sekunden)",
"The start date of the date range to query (in YYYY-MM-DD format).": "Das Anfangsdatum des abzufragenden Datums (im YYYY-MM-DD Format).",
"The end date of the date range to query (in YYYY-MM-DD format).": "Das Enddatum des abzufragenden Datums (im YYYY-MM-DD Format).",
"The dimensions to group results by. For example: [\"query\", \"page\", \"country\", \"device\", \"searchAppearance\", \"date\"].": "Die Dimensionen, nach denen Ergebnisse gruppiert werden sollen. Zum Beispiel: [\"Abfrage\", \"Seite\", \"Land\", \"Gerät\", \"searchAppearance\", \"date\"].",
"Optional filters to apply to the data. Filters can be used to restrict the results to a specific subset.": "Optionale Filter, die auf die Daten angewendet werden. Filter können verwendet werden, um die Ergebnisse auf eine bestimmte Untermenge zu beschränken.",
"How data is aggregated. Options include \"auto\", \"byPage\", \"byProperty\".": "Wie Daten zusammengefasst werden. Optionen beinhalten \"auto\", \"byPage\", \"byProperty\".",
"The maximum number of rows to return.": "Die maximale Anzahl an Zeilen, die zurückgegeben werden sollen.",
"The first row to return. Use this parameter to paginate results.": "Die erste Zeile, die zurückgegeben wird. Benutzen Sie diesen Parameter, um Ergebnisse zu paginieren.",
"Authorization headers are injected automatically from your connection.": "Autorisierungs-Header werden automatisch von Ihrer Verbindung injiziert.",
"Enable for files like PDFs, images, etc..": "Aktivieren für Dateien wie PDFs, Bilder, etc..",
"GET": "ERHALTEN",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "LÖSCHEN",
"HEAD": "HEAD"
}

View File

@@ -0,0 +1,51 @@
{
"\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes": "\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes** and add following scopes and click update.\n - https://www.googleapis.com/auth/webmasters\n 8. Click Save and Continue to finish the Scopes step.\n 9. Click on the Add Users button and add a test email You can add your own email).Then finally click Save and Continue to finish the Test Users portion.\n 10. Go to **Credentials**. Click on the **Create Credentials** button and select the **OAuth client ID** option.\n 11. Select the application type as **Web Application** and fill the Name field.\n 12. Add https://cloud.activepieces.com/redirect in **Authorized redirect URIs** field, and click on the Create button.\n 13. Copy **Client ID** and **Client Secret**.",
"Search Analytics": "Análisis de búsqueda",
"List Sitemaps": "Listar Sitemaps",
"Submit a Sitemap": "Enviar un mapa del sitio",
"List Sites": "Listar sitios",
"Add a Site": "Añadir un sitio",
"Delete a Site": "Eliminar un sitio",
"URL Inspection": "Inspección de URL",
"Custom API Call": "Llamada API personalizada",
"Query traffic data for your site using the Google Search Console API.": "Consulta los datos de tráfico de tu sitio utilizando la API de Google Search Console.",
"List all your sitemaps for a given site": "Listar todos sus sitemaps para un sitio determinado",
"Submits a sitemap for a site.": "Envía un mapa del sitio para un sitio.",
"Lists the user's Search Console sites.": "Lista los sitios de la consola de búsqueda del usuario.",
"Adds a site to the set of the user's sites in Search Console.": "Añade un sitio al conjunto de sitios del usuario en la consola de búsqueda.",
"Removes a site from the set of the user's Search Console sites.": "Elimina un sitio del conjunto de sitios de la consola de búsqueda del usuario.",
"Use the URL Inspection action to check the status and presence of a specific page within Google's index.": "Utilice la acción de Inspección de URL para comprobar el estado y la presencia de una página específica dentro del índice de Google.",
"Make a custom API call to a specific endpoint": "Hacer una llamada API personalizada a un extremo específico",
"Site URL": "URL del sitio",
"Start Date": "Fecha de inicio",
"End Date": "Fecha de fin",
"Dimensions": "Dimensiones",
"Filters": "Filtros",
"Aggregation Type": "Tipo de agregación",
"Row Limit": "Límite de fila",
"Start Row": "Iniciar fila",
"Sitemap Path": "Ruta del mapa del sitio",
"URL to Inspect": "URL para inspeccionar",
"Method": "Método",
"Headers": "Encabezados",
"Query Parameters": "Parámetros de consulta",
"Body": "Cuerpo",
"Response is Binary ?": "¿Respuesta es binaria?",
"No Error on Failure": "No hay ningún error en fallo",
"Timeout (in seconds)": "Tiempo de espera (en segundos)",
"The start date of the date range to query (in YYYY-MM-DD format).": "La fecha de inicio del rango de fechas a consultar (en formato AAA-MM-DD).",
"The end date of the date range to query (in YYYY-MM-DD format).": "La fecha de fin del rango de fechas a consultar (en formato AAA-MM-DD).",
"The dimensions to group results by. For example: [\"query\", \"page\", \"country\", \"device\", \"searchAppearance\", \"date\"].": "Las dimensiones de los resultados del grupo. Por ejemplo: [\"consulta\", \"página\", \"país\", \"dispositivo\", \"searchAppearance\", \"fecha\"].",
"Optional filters to apply to the data. Filters can be used to restrict the results to a specific subset.": "Filtros opcionales para aplicar a los datos. Los filtros se pueden utilizar para restringir los resultados a un subconjunto específico.",
"How data is aggregated. Options include \"auto\", \"byPage\", \"byProperty\".": "Cómo se agregan los datos. Las opciones incluyen \"auto\", \"byPage\", \"byProperty\".",
"The maximum number of rows to return.": "El número máximo de registros a retornar.",
"The first row to return. Use this parameter to paginate results.": "El primer registro a regresar. Utilice este parámetro para paginar los resultados.",
"Authorization headers are injected automatically from your connection.": "Las cabeceras de autorización se inyectan automáticamente desde tu conexión.",
"Enable for files like PDFs, images, etc..": "Activar para archivos como PDFs, imágenes, etc.",
"GET": "RECOGER",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "BORRAR",
"HEAD": "LIMPIO"
}

View File

@@ -0,0 +1,51 @@
{
"\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes": "\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes** and add following scopes and click update.\n - https://www.googleapis.com/auth/webmasters\n 8. Click Save and Continue to finish the Scopes step.\n 9. Click on the Add Users button and add a test email You can add your own email).Then finally click Save and Continue to finish the Test Users portion.\n 10. Go to **Credentials**. Click on the **Create Credentials** button and select the **OAuth client ID** option.\n 11. Select the application type as **Web Application** and fill the Name field.\n 12. Add https://cloud.activepieces.com/redirect in **Authorized redirect URIs** field, and click on the Create button.\n 13. Copy **Client ID** and **Client Secret**.",
"Search Analytics": "Analyses de recherche",
"List Sitemaps": "Lister les sitemaps",
"Submit a Sitemap": "Soumettre un plan du site",
"List Sites": "Lister les sites",
"Add a Site": "Ajouter un site",
"Delete a Site": "Supprimer un site",
"URL Inspection": "Inspection d'URL",
"Custom API Call": "Appel API personnalisé",
"Query traffic data for your site using the Google Search Console API.": "Interroger les données de trafic de votre site à l'aide de l'API Google Search Console.",
"List all your sitemaps for a given site": "Lister tous vos sitemaps pour un site donné",
"Submits a sitemap for a site.": "Soumet un plan du site pour un site.",
"Lists the user's Search Console sites.": "Liste les sites de la console de recherche de l'utilisateur.",
"Adds a site to the set of the user's sites in Search Console.": "Ajoute un site à l'ensemble des sites de l'utilisateur dans la Console de recherche.",
"Removes a site from the set of the user's Search Console sites.": "Supprime un site de l'ensemble des sites de la console de recherche de l'utilisateur.",
"Use the URL Inspection action to check the status and presence of a specific page within Google's index.": "Utilisez l'action d'inspection d'URL pour vérifier l'état et la présence d'une page spécifique dans l'index de Google.",
"Make a custom API call to a specific endpoint": "Passez un appel API personnalisé à un point de terminaison spécifique",
"Site URL": "URL du site",
"Start Date": "Date de début",
"End Date": "Date de fin",
"Dimensions": "Dimensions",
"Filters": "Filtres",
"Aggregation Type": "Type d'agrégation",
"Row Limit": "Limite de ligne",
"Start Row": "Lancer la ligne",
"Sitemap Path": "Chemin du plan du site",
"URL to Inspect": "URL à inspecter",
"Method": "Méthode",
"Headers": "En-têtes",
"Query Parameters": "Paramètres de requête",
"Body": "Corps",
"Response is Binary ?": "La réponse est Binaire ?",
"No Error on Failure": "Aucune erreur en cas d'échec",
"Timeout (in seconds)": "Délai d'attente (en secondes)",
"The start date of the date range to query (in YYYY-MM-DD format).": "La date de début de la plage de dates à rechercher (au format AAAA-MM-JJ).",
"The end date of the date range to query (in YYYY-MM-DD format).": "La date de fin de la plage de dates à rechercher (au format AAAA-MM-JJ).",
"The dimensions to group results by. For example: [\"query\", \"page\", \"country\", \"device\", \"searchAppearance\", \"date\"].": "Les dimensions par lesquelles regrouper les résultats. Par exemple : [\"query\", \"page\", \"pays\", \"appareil\", \"searchAppearance\", \"date\"].",
"Optional filters to apply to the data. Filters can be used to restrict the results to a specific subset.": "Filtres optionnels à appliquer aux données. Les filtres peuvent être utilisés pour restreindre les résultats à un sous-ensemble spécifique.",
"How data is aggregated. Options include \"auto\", \"byPage\", \"byProperty\".": "Comment les données sont agrégées. Les options incluent \"auto\", \"byPage\", \"byProperty\".",
"The maximum number of rows to return.": "Le nombre maximum de lignes à retourner.",
"The first row to return. Use this parameter to paginate results.": "La première ligne à renvoyer. Utilisez ce paramètre pour paginer les résultats.",
"Authorization headers are injected automatically from your connection.": "Les en-têtes d'autorisation sont injectés automatiquement à partir de votre connexion.",
"Enable for files like PDFs, images, etc..": "Activer pour les fichiers comme les PDFs, les images, etc.",
"GET": "OBTENIR",
"POST": "POSTER",
"PATCH": "PATCH",
"PUT": "EFFACER",
"DELETE": "SUPPRIMER",
"HEAD": "TÊTE"
}

View File

@@ -0,0 +1,51 @@
{
"\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes": "\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes** and add following scopes and click update.\n - https://www.googleapis.com/auth/webmasters\n 8. Click Save and Continue to finish the Scopes step.\n 9. Click on the Add Users button and add a test email You can add your own email).Then finally click Save and Continue to finish the Test Users portion.\n 10. Go to **Credentials**. Click on the **Create Credentials** button and select the **OAuth client ID** option.\n 11. Select the application type as **Web Application** and fill the Name field.\n 12. Add https://cloud.activepieces.com/redirect in **Authorized redirect URIs** field, and click on the Create button.\n 13. Copy **Client ID** and **Client Secret**.",
"Search Analytics": "検索分析",
"List Sitemaps": "サイトマップ一覧",
"Submit a Sitemap": "サイトマップを送信",
"List Sites": "サイト一覧",
"Add a Site": "サイトを追加",
"Delete a Site": "サイトを削除",
"URL Inspection": "URL検査",
"Custom API Call": "カスタムAPI通話",
"Query traffic data for your site using the Google Search Console API.": "Google Search Console APIを使用して、サイトのトラフィックデータをクエリします。",
"List all your sitemaps for a given site": "特定のサイトのすべてのサイトマップを表示",
"Submits a sitemap for a site.": "サイトのサイトマップを送信します.",
"Lists the user's Search Console sites.": "ユーザのSearch Consoleサイトが一覧表示されます。",
"Adds a site to the set of the user's sites in Search Console.": "Search Consoleのユーザのサイトのセットにサイトを追加します。",
"Removes a site from the set of the user's Search Console sites.": "ユーザのSearch Consoleサイトのセットからサイトを削除します。",
"Use the URL Inspection action to check the status and presence of a specific page within Google's index.": "URL 検査アクションを使用して、Google の索引内の特定のページの状態と存在を確認します。",
"Make a custom API call to a specific endpoint": "特定のエンドポイントへのカスタム API コールを実行します。",
"Site URL": "サイト URL",
"Start Date": "開始日",
"End Date": "終了日",
"Dimensions": "寸法",
"Filters": "絞り込み",
"Aggregation Type": "集計タイプ",
"Row Limit": "行の制限",
"Start Row": "行を開始する",
"Sitemap Path": "サイトマップパス",
"URL to Inspect": "調べるURL",
"Method": "方法",
"Headers": "ヘッダー",
"Query Parameters": "クエリパラメータ",
"Body": "本文",
"Response is Binary ?": "応答はバイナリですか?",
"No Error on Failure": "失敗時にエラーはありません",
"Timeout (in seconds)": "タイムアウト(秒)",
"The start date of the date range to query (in YYYY-MM-DD format).": "問い合わせる日付範囲の開始日 (YYYY-MM-DD形式)。",
"The end date of the date range to query (in YYYY-MM-DD format).": "問い合わせる日付範囲の終了日 (YYYY-MM-DD形式)。",
"The dimensions to group results by. For example: [\"query\", \"page\", \"country\", \"device\", \"searchAppearance\", \"date\"].": "結果をグループ化する次元。例: [\"query\", \"page\", \"country\", \"device\", \"searchAppearance\", \"date\"]。",
"Optional filters to apply to the data. Filters can be used to restrict the results to a specific subset.": "データに適用する任意のフィルタ。フィルタを使用すると、特定のサブセットに結果を制限できます。",
"How data is aggregated. Options include \"auto\", \"byPage\", \"byProperty\".": "データの集計方法。オプションには、\"auto\", \"byPage\", \"byProperty\"が含まれます。",
"The maximum number of rows to return.": "返す行の最大数。",
"The first row to return. Use this parameter to paginate results.": "返される最初の行です。結果をページ化するには、このパラメータを使用します。",
"Authorization headers are injected automatically from your connection.": "認証ヘッダは接続から自動的に注入されます。",
"Enable for files like PDFs, images, etc..": "PDF、画像などのファイルを有効にします。",
"GET": "取得",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "削除",
"HEAD": "頭"
}

View File

@@ -0,0 +1,51 @@
{
"\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes": "\n 1. Log in op [Google Cloud Console](https://console.cloud.google.com/).\n 2. Maak een nieuw project aan of u kunt een bestaand project gebruiken.\n 3. Ga naar **API's & Services** en klik op **API's & Service inschakelen**.\n 4. Zoek naar **Google Console API** in de zoekbalk en schakel deze in.\n 5. Ga naar het **OAuth toestemming scherm** en selecteer **External** type en klik op maken.\n 6. Vul de App Naam, User Support Email en Ontwikkelaar Contact Informatie. Klik op Opslaan en Doorgaan knop.\n 7. Klik op **Voeg toe of verwijder Scopes** en voeg de volgende scopes toe en klik op update.\n - https://www.googleapis. Aute/auth/webmasters\n 8. Klik op Opslaan en doorgaan om de Scopes stap af te ronden.\n 9. Klik op de Gebruikers toevoegen knop en voeg een test e-mail toe die u zelf kunt toevoegen. hen klik eindelijk op Opslaan en ga verder om de test users portie te voltooien.\n 10. Ga naar **Aanmeldingen**. Klik op de knop **Credentials** en selecteer de optie **OAuth client ID**.\n 11. Selecteer het applicatie type als **Web Applicatie** en vul het veld Naam in.\n 12. Voeg https://cloud.activepieces.com/redirect toe in **Authorized redirect URI's** veld en klik op de Creëer-knop.\n 13. Kopieer **Client ID** en **Client Secret**.",
"Search Analytics": "Zoek Analytics",
"List Sitemaps": "Sitemaps weergeven",
"Submit a Sitemap": "Een Sitemap indienen",
"List Sites": "Sites weergeven",
"Add a Site": "Voeg een site toe",
"Delete a Site": "Verwijder een site",
"URL Inspection": "URL inspectie",
"Custom API Call": "Custom API Call",
"Query traffic data for your site using the Google Search Console API.": "Query datagegevens voor uw site met behulp van de Google Search Console API.",
"List all your sitemaps for a given site": "Toon al uw sitemaps voor een bepaalde site",
"Submits a sitemap for a site.": "Voert een sitemap in voor een site.",
"Lists the user's Search Console sites.": "Geeft een lijst van zoekconsole sites van de gebruiker.",
"Adds a site to the set of the user's sites in Search Console.": "Voegt een site toe aan de set van de sites van de gebruiker in zoek Console.",
"Removes a site from the set of the user's Search Console sites.": "Verwijdert een site uit de set van de zoekconsole sites van de gebruiker.",
"Use the URL Inspection action to check the status and presence of a specific page within Google's index.": "Gebruik de URL Inspectie actie om de status en de aanwezigheid van een specifieke pagina te controleren binnen de Google index.",
"Make a custom API call to a specific endpoint": "Maak een aangepaste API call naar een specifiek eindpunt",
"Site URL": "Website URL",
"Start Date": "Start datum",
"End Date": "Eind datum",
"Dimensions": "Mål",
"Filters": "Filters",
"Aggregation Type": "Aggregatie Type",
"Row Limit": "Rij limiet",
"Start Row": "Start rij",
"Sitemap Path": "Pad sitemap",
"URL to Inspect": "URL om te inspecteren",
"Method": "Methode",
"Headers": "Kopteksten",
"Query Parameters": "Query parameters",
"Body": "Lichaam",
"Response is Binary ?": "Antwoord is binair?",
"No Error on Failure": "Geen fout bij fout",
"Timeout (in seconds)": "Time-out (in seconden)",
"The start date of the date range to query (in YYYY-MM-DD format).": "De startdatum van het datumbereik tot query (in JJJJJ-MM-DD formaat).",
"The end date of the date range to query (in YYYY-MM-DD format).": "De einddatum van het datumbereik tot query (in JJJJJ-MM-DD formaat).",
"The dimensions to group results by. For example: [\"query\", \"page\", \"country\", \"device\", \"searchAppearance\", \"date\"].": "De afmetingen om de resultaten te groeperen. Bijvoorbeeld: [\"query\", \"page\", \"land\", \"device\", \"searchAppearance\", \"datum\"].",
"Optional filters to apply to the data. Filters can be used to restrict the results to a specific subset.": "Optionele filters om toe te passen op de gegevens. Filters kunnen worden gebruikt om de resultaten te beperken tot een specifieke subset.",
"How data is aggregated. Options include \"auto\", \"byPage\", \"byProperty\".": "Hoe gegevens worden samengevoegd. Opties bevatten \"auto\", \"byPage\", \"byProperty\".",
"The maximum number of rows to return.": "Het maximum aantal rijen om terug te sturen.",
"The first row to return. Use this parameter to paginate results.": "De eerste rij om terug te keren. Gebruik deze parameter om resultaten te pagineren.",
"Authorization headers are injected automatically from your connection.": "Autorisatie headers worden automatisch geïnjecteerd vanuit uw verbinding.",
"Enable for files like PDFs, images, etc..": "Inschakelen voor bestanden zoals PDF's, afbeeldingen etc..",
"GET": "KRIJG",
"POST": "POSTE",
"PATCH": "BEKIJK",
"PUT": "PUT",
"DELETE": "VERWIJDEREN",
"HEAD": "HOOFD"
}

View File

@@ -0,0 +1,51 @@
{
"\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes": "\n 1. Entre no [Google Cloud Console](https://console.cloud.google.com/).\n 2. Crie um novo projeto ou você pode usar o já existente.\n 3. Vá para **APIs & serviços** e clique **Habilitar APIs e serviços**.\n 4. Pesquisar por **API do Console de Pesquisa do Google** na barra de pesquisa e habilitá-lo.\n 5. Vá para **OAuth consent screen** e selecione o tipo **externo** e clique em criar.\n 6. Preencha o nome do aplicativo, e-mail de suporte ao usuário e informações de contato do desenvolvedor. Clique no botão Salvar e Continuar.\n 7. Clique em **Adicionar ou Remover Escopo** e adicione os seguintes escopos e clique em atualizar.\n - https://www.googleapis. om/auth/webmasters\n 8. Clique em Salvar e Continuar para terminar a etapa dos escopos.\n 9. Clique no botão Adicionar Usuários e adicione um e-mail de teste. Você pode adicionar seu próprio e-mail). hen finalmente clique em Salvar e Continuar para terminar a porção de Usuários Teste A.\n 10. Vá para **Credenciais**. Clique no botão **Criar Credenciais** e selecione a opção **ID do cliente OAuth.\n 11. Selecione o tipo de aplicativo como **Aplicativo Web** e preencha o campo Nome.\n 12. Adicionar https://cloud.activepieces.com/redirect no campo **URIs de redirecionamento autorizados** e clique no botão Criar.\n 13. Copie o **ID do cliente** e o **Segredo do Cliente**.",
"Search Analytics": "Pesquisar análises",
"List Sitemaps": "Listar Mapas",
"Submit a Sitemap": "Enviar um Sitemap",
"List Sites": "Listar sites",
"Add a Site": "Adicionar um site",
"Delete a Site": "Apagar um site",
"URL Inspection": "Inspeção de URL",
"Custom API Call": "Chamada de API personalizada",
"Query traffic data for your site using the Google Search Console API.": "Consultar dados de tráfego para seu site usando a API do Console de Pesquisa Google.",
"List all your sitemaps for a given site": "Lista todos os seus links para um determinado site",
"Submits a sitemap for a site.": "Enviar um mapa do site para um site.",
"Lists the user's Search Console sites.": "Lista os sites de busca do usuário.",
"Adds a site to the set of the user's sites in Search Console.": "Adiciona um site ao conjunto dos sites do usuário no console de pesquisa.",
"Removes a site from the set of the user's Search Console sites.": "Remove um site do conjunto dos sites de busca do usuário.",
"Use the URL Inspection action to check the status and presence of a specific page within Google's index.": "Use a ação Inspeção de URL para verificar o status e a presença de uma página específica no índice do Google.",
"Make a custom API call to a specific endpoint": "Faça uma chamada de API personalizada para um ponto de extremidade específico",
"Site URL": "URL do site",
"Start Date": "Data Inicial",
"End Date": "Data de Término",
"Dimensions": "cotas",
"Filters": "Filtros",
"Aggregation Type": "Tipo de agregação",
"Row Limit": "Limite de linha",
"Start Row": "Iniciar linha",
"Sitemap Path": "Caminho do Sitemap",
"URL to Inspect": "URL para Inspecionar",
"Method": "Método",
"Headers": "Cabeçalhos",
"Query Parameters": "Parâmetros da consulta",
"Body": "Conteúdo",
"Response is Binary ?": "A resposta é binária ?",
"No Error on Failure": "Nenhum erro no Failure",
"Timeout (in seconds)": "Tempo limite (em segundos)",
"The start date of the date range to query (in YYYY-MM-DD format).": "A data de início do intervalo de datas a consultar (no formato AAAA-MM-DD).",
"The end date of the date range to query (in YYYY-MM-DD format).": "A data final do intervalo de data para consulta (no formato AAAA-MM-DD).",
"The dimensions to group results by. For example: [\"query\", \"page\", \"country\", \"device\", \"searchAppearance\", \"date\"].": "As dimensões do grupo de resultados por. Por exemplo: [\"consulta\", \"página\", \"país\", \"device\", \"searchAppearance\", \"data\"].",
"Optional filters to apply to the data. Filters can be used to restrict the results to a specific subset.": "Filtros opcionais para aplicar aos dados. Filtros podem ser usados para restringir os resultados para um subconjunto específico.",
"How data is aggregated. Options include \"auto\", \"byPage\", \"byProperty\".": "Como os dados são agregados. As opções incluem \"auto\", \"byPage\", \"byProperty\".",
"The maximum number of rows to return.": "O número máximo de linhas para retornar.",
"The first row to return. Use this parameter to paginate results.": "A primeira linha a retornar. Use este parâmetro para paginar resultados.",
"Authorization headers are injected automatically from your connection.": "Os cabeçalhos de autorização são inseridos automaticamente a partir da sua conexão.",
"Enable for files like PDFs, images, etc..": "Habilitar para arquivos como PDFs, imagens, etc..",
"GET": "OBTER",
"POST": "POSTAR",
"PATCH": "COMPRAR",
"PUT": "COLOCAR",
"DELETE": "EXCLUIR",
"HEAD": "CABEÇA"
}

View File

@@ -0,0 +1,50 @@
{
"Google Search Console": "Поисковая консоль Google",
"\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes": "\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes** and add following scopes and click update.\n - https://www.googleapis.com/auth/webmasters\n 8. Click Save and Continue to finish the Scopes step.\n 9. Click on the Add Users button and add a test email You can add your own email).Then finally click Save and Continue to finish the Test Users portion.\n 10. Go to **Credentials**. Click on the **Create Credentials** button and select the **OAuth client ID** option.\n 11. Select the application type as **Web Application** and fill the Name field.\n 12. Add https://cloud.activepieces.com/redirect in **Authorized redirect URIs** field, and click on the Create button.\n 13. Copy **Client ID** and **Client Secret**.",
"Search Analytics": "Поиск аналитики",
"List Sitemaps": "Список карт сайта",
"Submit a Sitemap": "Отправить карту сайта",
"List Sites": "Список сайтов",
"Add a Site": "Добавить сайт",
"Delete a Site": "Удалить сайт",
"URL Inspection": "Проверка URL",
"Custom API Call": "Пользовательский вызов API",
"Query traffic data for your site using the Google Search Console API.": "Запрашивать данные о трафике вашего сайта с помощью Google Search Console API.",
"List all your sitemaps for a given site": "Список всех карт сайтов для данного сайта",
"Submits a sitemap for a site.": "Присваивает карту сайта для сайта.",
"Lists the user's Search Console sites.": "Список поисковых сайтов пользователя.",
"Adds a site to the set of the user's sites in Search Console.": "Добавляет сайт к набору сайтов пользователя в консоли поиска.",
"Removes a site from the set of the user's Search Console sites.": "Удаляет сайт из набора поисковых консолей пользователя.",
"Use the URL Inspection action to check the status and presence of a specific page within Google's index.": "Используйте действие инспекции URL для проверки статуса и наличия конкретной страницы в индексе Google.",
"Make a custom API call to a specific endpoint": "Сделать пользовательский API вызов к определенной конечной точке",
"Site URL": "URL сайта",
"Start Date": "Дата начала",
"End Date": "Дата окончания",
"Dimensions": "Размеры",
"Filters": "Фильтры",
"Aggregation Type": "Тип агрегации",
"Row Limit": "Лимит строки",
"Start Row": "Начальная строка",
"Sitemap Path": "Путь к карте сайта",
"URL to Inspect": "URL для проверки",
"Method": "Метод",
"Headers": "Заголовки",
"Query Parameters": "Параметры запроса",
"Body": "Тело",
"No Error on Failure": "Нет ошибок при ошибке",
"Timeout (in seconds)": "Таймаут (в секундах)",
"The start date of the date range to query (in YYYY-MM-DD format).": "Дата начала диапазона дат для запроса (в формате YYY-MM-DDD).",
"The end date of the date range to query (in YYYY-MM-DD format).": "Дата окончания диапазона дат запроса (в формате YYY-MM-DDD).",
"The dimensions to group results by. For example: [\"query\", \"page\", \"country\", \"device\", \"searchAppearance\", \"date\"].": "По размеру группировки результатов, например: [\"query\", \"page\", \"country\", \"device\", \"searchAppearance\", \"date\"].",
"Optional filters to apply to the data. Filters can be used to restrict the results to a specific subset.": "Необязательные фильтры для применения к данным. Фильтры могут быть использованы для ограничения результатов определенным подмножеством.",
"How data is aggregated. Options include \"auto\", \"byPage\", \"byProperty\".": "Как собираются данные. Опции включают \"auto\", \"byPage\", \"byProperty\".",
"The maximum number of rows to return.": "Максимальное количество строк для возврата.",
"The first row to return. Use this parameter to paginate results.": "Первая строка для возврата. Используйте этот параметр для обработки результатов.",
"Authorization headers are injected automatically from your connection.": "Заголовки авторизации включаются автоматически из вашего соединения.",
"GET": "ПОЛУЧИТЬ",
"POST": "ПОСТ",
"PATCH": "ПАТЧ",
"PUT": "ПОКУПИТЬ",
"DELETE": "УДАЛИТЬ",
"HEAD": "HEAD"
}

View File

@@ -0,0 +1,51 @@
{
"\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes": "\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes** and add following scopes and click update.\n - https://www.googleapis.com/auth/webmasters\n 8. Click Save and Continue to finish the Scopes step.\n 9. Click on the Add Users button and add a test email You can add your own email).Then finally click Save and Continue to finish the Test Users portion.\n 10. Go to **Credentials**. Click on the **Create Credentials** button and select the **OAuth client ID** option.\n 11. Select the application type as **Web Application** and fill the Name field.\n 12. Add https://cloud.activepieces.com/redirect in **Authorized redirect URIs** field, and click on the Create button.\n 13. Copy **Client ID** and **Client Secret**.",
"Search Analytics": "Search Analytics",
"List Sitemaps": "List Sitemaps",
"Submit a Sitemap": "Submit a Sitemap",
"List Sites": "List Sites",
"Add a Site": "Add a Site",
"Delete a Site": "Delete a Site",
"URL Inspection": "URL Inspection",
"Custom API Call": "Custom API Call",
"Query traffic data for your site using the Google Search Console API.": "Query traffic data for your site using the Google Search Console API.",
"List all your sitemaps for a given site": "List all your sitemaps for a given site",
"Submits a sitemap for a site.": "Submits a sitemap for a site.",
"Lists the user's Search Console sites.": "Lists the user's Search Console sites.",
"Adds a site to the set of the user's sites in Search Console.": "Adds a site to the set of the user's sites in Search Console.",
"Removes a site from the set of the user's Search Console sites.": "Removes a site from the set of the user's Search Console sites.",
"Use the URL Inspection action to check the status and presence of a specific page within Google's index.": "Use the URL Inspection action to check the status and presence of a specific page within Google's index.",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"Site URL": "Site URL",
"Start Date": "Start Date",
"End Date": "End Date",
"Dimensions": "Dimensions",
"Filters": "Filters",
"Aggregation Type": "Aggregation Type",
"Row Limit": "Row Limit",
"Start Row": "Start Row",
"Sitemap Path": "Sitemap Path",
"URL to Inspect": "URL to Inspect",
"Method": "Method",
"Headers": "Headers",
"Query Parameters": "Query Parameters",
"Body": "Body",
"Response is Binary ?": "Response is Binary ?",
"No Error on Failure": "No Error on Failure",
"Timeout (in seconds)": "Timeout (in seconds)",
"The start date of the date range to query (in YYYY-MM-DD format).": "The start date of the date range to query (in YYYY-MM-DD format).",
"The end date of the date range to query (in YYYY-MM-DD format).": "The end date of the date range to query (in YYYY-MM-DD format).",
"The dimensions to group results by. For example: [\"query\", \"page\", \"country\", \"device\", \"searchAppearance\", \"date\"].": "The dimensions to group results by. For example: [\"query\", \"page\", \"country\", \"device\", \"searchAppearance\", \"date\"].",
"Optional filters to apply to the data. Filters can be used to restrict the results to a specific subset.": "Optional filters to apply to the data. Filters can be used to restrict the results to a specific subset.",
"How data is aggregated. Options include \"auto\", \"byPage\", \"byProperty\".": "How data is aggregated. Options include \"auto\", \"byPage\", \"byProperty\".",
"The maximum number of rows to return.": "The maximum number of rows to return.",
"The first row to return. Use this parameter to paginate results.": "The first row to return. Use this parameter to paginate results.",
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD"
}

View File

@@ -0,0 +1,50 @@
{
"Google Search Console": "Google Search Console",
"\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes": "\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes** and add following scopes and click update.\n - https://www.googleapis.com/auth/webmasters\n 8. Click Save and Continue to finish the Scopes step.\n 9. Click on the Add Users button and add a test email You can add your own email).Then finally click Save and Continue to finish the Test Users portion.\n 10. Go to **Credentials**. Click on the **Create Credentials** button and select the **OAuth client ID** option.\n 11. Select the application type as **Web Application** and fill the Name field.\n 12. Add https://cloud.activepieces.com/redirect in **Authorized redirect URIs** field, and click on the Create button.\n 13. Copy **Client ID** and **Client Secret**.",
"Search Analytics": "Search Analytics",
"List Sitemaps": "List Sitemaps",
"Submit a Sitemap": "Submit a Sitemap",
"List Sites": "List Sites",
"Add a Site": "Add a Site",
"Delete a Site": "Delete a Site",
"URL Inspection": "URL Inspection",
"Custom API Call": "Custom API Call",
"Query traffic data for your site using the Google Search Console API.": "Query traffic data for your site using the Google Search Console API.",
"List all your sitemaps for a given site": "List all your sitemaps for a given site",
"Submits a sitemap for a site.": "Submits a sitemap for a site.",
"Lists the user's Search Console sites.": "Lists the user's Search Console sites.",
"Adds a site to the set of the user's sites in Search Console.": "Adds a site to the set of the user's sites in Search Console.",
"Removes a site from the set of the user's Search Console sites.": "Removes a site from the set of the user's Search Console sites.",
"Use the URL Inspection action to check the status and presence of a specific page within Google's index.": "Use the URL Inspection action to check the status and presence of a specific page within Google's index.",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"Site URL": "Site URL",
"Start Date": "Start Date",
"End Date": "End Date",
"Dimensions": "Dimensions",
"Filters": "Bộ lọc",
"Aggregation Type": "Aggregation Type",
"Row Limit": "Row Limit",
"Start Row": "Start Row",
"Sitemap Path": "Sitemap Path",
"URL to Inspect": "URL to Inspect",
"Method": "Method",
"Headers": "Headers",
"Query Parameters": "Query Parameters",
"Body": "Body",
"No Error on Failure": "No Error on Failure",
"Timeout (in seconds)": "Timeout (in seconds)",
"The start date of the date range to query (in YYYY-MM-DD format).": "The start date of the date range to query (in YYYY-MM-DD format).",
"The end date of the date range to query (in YYYY-MM-DD format).": "The end date of the date range to query (in YYYY-MM-DD format).",
"The dimensions to group results by. For example: [\"query\", \"page\", \"country\", \"device\", \"searchAppearance\", \"date\"].": "The dimensions to group results by. For example: [\"query\", \"page\", \"country\", \"device\", \"searchAppearance\", \"date\"].",
"Optional filters to apply to the data. Filters can be used to restrict the results to a specific subset.": "Optional filters to apply to the data. Filters can be used to restrict the results to a specific subset.",
"How data is aggregated. Options include \"auto\", \"byPage\", \"byProperty\".": "How data is aggregated. Options include \"auto\", \"byPage\", \"byProperty\".",
"The maximum number of rows to return.": "The maximum number of rows to return.",
"The first row to return. Use this parameter to paginate results.": "The first row to return. Use this parameter to paginate results.",
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD"
}

View File

@@ -0,0 +1,51 @@
{
"\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes": "\n 1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).\n 2. Create a new project or you can use existing one.\n 3. Go to **APIs & Services** and click **Enable APIs & Services**.\n 4. Search for **Google Search Console API** in the search bar and enable it.\n 5. Go to **OAuth consent screen** and select **External** type and click create.\n 6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.\n 7. Click on **Add or Remove Scopes** and add following scopes and click update.\n - https://www.googleapis.com/auth/webmasters\n 8. Click Save and Continue to finish the Scopes step.\n 9. Click on the Add Users button and add a test email You can add your own email).Then finally click Save and Continue to finish the Test Users portion.\n 10. Go to **Credentials**. Click on the **Create Credentials** button and select the **OAuth client ID** option.\n 11. Select the application type as **Web Application** and fill the Name field.\n 12. Add https://cloud.activepieces.com/redirect in **Authorized redirect URIs** field, and click on the Create button.\n 13. Copy **Client ID** and **Client Secret**.",
"Search Analytics": "Search Analytics",
"List Sitemaps": "List Sitemaps",
"Submit a Sitemap": "Submit a Sitemap",
"List Sites": "List Sites",
"Add a Site": "Add a Site",
"Delete a Site": "Delete a Site",
"URL Inspection": "URL Inspection",
"Custom API Call": "自定义 API 呼叫",
"Query traffic data for your site using the Google Search Console API.": "Query traffic data for your site using the Google Search Console API.",
"List all your sitemaps for a given site": "List all your sitemaps for a given site",
"Submits a sitemap for a site.": "Submits a sitemap for a site.",
"Lists the user's Search Console sites.": "Lists the user's Search Console sites.",
"Adds a site to the set of the user's sites in Search Console.": "Adds a site to the set of the user's sites in Search Console.",
"Removes a site from the set of the user's Search Console sites.": "Removes a site from the set of the user's Search Console sites.",
"Use the URL Inspection action to check the status and presence of a specific page within Google's index.": "Use the URL Inspection action to check the status and presence of a specific page within Google's index.",
"Make a custom API call to a specific endpoint": "将一个自定义 API 调用到一个特定的终点",
"Site URL": "Site URL",
"Start Date": "Start Date",
"End Date": "End Date",
"Dimensions": "Dimensions",
"Filters": "篩選條件",
"Aggregation Type": "Aggregation Type",
"Row Limit": "Row Limit",
"Start Row": "开始行",
"Sitemap Path": "Sitemap Path",
"URL to Inspect": "URL to Inspect",
"Method": "方法",
"Headers": "信头",
"Query Parameters": "查询参数",
"Body": "正文内容",
"Response is Binary ?": "Response is Binary ?",
"No Error on Failure": "失败时没有错误",
"Timeout (in seconds)": "超时(秒)",
"The start date of the date range to query (in YYYY-MM-DD format).": "The start date of the date range to query (in YYYY-MM-DD format).",
"The end date of the date range to query (in YYYY-MM-DD format).": "The end date of the date range to query (in YYYY-MM-DD format).",
"The dimensions to group results by. For example: [\"query\", \"page\", \"country\", \"device\", \"searchAppearance\", \"date\"].": "The dimensions to group results by. For example: [\"query\", \"page\", \"country\", \"device\", \"searchAppearance\", \"date\"].",
"Optional filters to apply to the data. Filters can be used to restrict the results to a specific subset.": "Optional filters to apply to the data. Filters can be used to restrict the results to a specific subset.",
"How data is aggregated. Options include \"auto\", \"byPage\", \"byProperty\".": "How data is aggregated. Options include \"auto\", \"byPage\", \"byProperty\".",
"The maximum number of rows to return.": "The maximum number of rows to return.",
"The first row to return. Use this parameter to paginate results.": "The first row to return. Use this parameter to paginate results.",
"Authorization headers are injected automatically from your connection.": "授权头自动从您的连接中注入。",
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
"GET": "获取",
"POST": "帖子",
"PATCH": "PATCH",
"PUT": "弹出",
"DELETE": "删除",
"HEAD": "黑色"
}

View File

@@ -0,0 +1,65 @@
import { createPiece, OAuth2PropertyValue, PieceAuth } from '@activepieces/pieces-framework';
import { google } from 'googleapis';
import { urlInspection } from './lib/actions/url-inspection';
import { searchAnalytics } from './lib/actions/search-analytics';
import { listSitemaps } from './lib/actions/list-sitemaps';
import { submitSitemap } from './lib/actions/submit-a-sitemap';
import { listSites } from './lib/actions/list-sites';
import { addSite } from './lib/actions/add-a-site';
import { deleteSite } from './lib/actions/delete-a-site';
import { createCustomApiCallAction } from '@activepieces/pieces-common';
export const googleSearchConsoleAuth = PieceAuth.OAuth2({
description: `
1. Sign in to [Google Cloud Console](https://console.cloud.google.com/).
2. Create a new project or you can use existing one.
3. Go to **APIs & Services** and click **Enable APIs & Services**.
4. Search for **Google Search Console API** in the search bar and enable it.
5. Go to **OAuth consent screen** and select **External** type and click create.
6. Fill App Name, User Support Email, and Developer Contact Information. Click on the Save and Continue button.
7. Click on **Add or Remove Scopes** and add following scopes and click update.
- https://www.googleapis.com/auth/webmasters
8. Click Save and Continue to finish the Scopes step.
9. Click on the Add Users button and add a test email You can add your own email).Then finally click Save and Continue to finish the Test Users portion.
10. Go to **Credentials**. Click on the **Create Credentials** button and select the **OAuth client ID** option.
11. Select the application type as **Web Application** and fill the Name field.
12. Add https://cloud.activepieces.com/redirect in **Authorized redirect URIs** field, and click on the Create button.
13. Copy **Client ID** and **Client Secret**.`,
authUrl: 'https://accounts.google.com/o/oauth2/auth',
tokenUrl: 'https://oauth2.googleapis.com/token',
scope: ['https://www.googleapis.com/auth/webmasters'],
required: true,
});
export const createAuthClient = (accessToken: string) => {
const auth = new google.auth.OAuth2();
auth.setCredentials({ access_token: accessToken });
return google.webmasters({ version: 'v3', auth });
};
export const googleSearchConsolePiece = createPiece({
displayName: 'Google Search Console',
minimumSupportedRelease: '0.30.0',
auth: googleSearchConsoleAuth,
logoUrl: 'https://cdn.activepieces.com/pieces/google-search-console.png',
authors: ['Gushkool','kishanprmr'],
triggers: [],
actions: [
searchAnalytics,
listSitemaps,
submitSitemap,
listSites,
addSite,
deleteSite,
urlInspection,
createCustomApiCallAction({
baseUrl: () => 'https://www.googleapis.com/webmasters/v3',
auth: googleSearchConsoleAuth,
authMapping: async (auth) => ({
Authorization: `Bearer ${(auth).access_token}`,
}),
}),
],
});
//TODO : remove this comment, add Gushkool's email to local git configuration

View File

@@ -0,0 +1,22 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { googleSearchConsoleAuth, createAuthClient } from '../../';
export const addSite = createAction({
auth: googleSearchConsoleAuth,
name: 'add_site',
displayName: 'Add a Site',
description: "Adds a site to the set of the user's sites in Search Console.",
props: {
siteUrl: Property.ShortText({
displayName: 'Site URL',
required: true,
}),
},
async run(context) {
const webmasters = createAuthClient(context.auth.access_token);
await webmasters.sites.add({
siteUrl: context.propsValue.siteUrl,
});
return { success: true };
},
});

View File

@@ -0,0 +1,30 @@
import { createAction } from '@activepieces/pieces-framework';
import { googleSearchConsoleAuth, createAuthClient } from '../../';
import { commonProps } from '../common';
export const deleteSite = createAction({
auth: googleSearchConsoleAuth,
name: 'delete_site',
displayName: 'Delete a Site',
description:
"Removes a site from the set of the user's Search Console sites.",
props: {
siteUrl: commonProps.siteUrl,
},
async run(context) {
const siteUrl = context.propsValue.siteUrl;
if (!siteUrl) {
throw new Error(
'You must provide either a Site URL or select one from the list.'
);
}
const webmasters = createAuthClient(context.auth.access_token);
await webmasters.sites.delete({
siteUrl: siteUrl,
});
return { success: true };
},
});

View File

@@ -0,0 +1,20 @@
import { createAction } from '@activepieces/pieces-framework';
import { googleSearchConsoleAuth, createAuthClient } from '../../';
import { commonProps } from '../common';
export const listSitemaps = createAction({
auth: googleSearchConsoleAuth,
name: 'list_sitemaps',
displayName: 'List Sitemaps',
description: 'List all your sitemaps for a given site',
props: {
siteUrl: commonProps.siteUrl,
},
async run(context) {
const webmasters = createAuthClient(context.auth.access_token);
const res = await webmasters.sitemaps.list({
siteUrl: context.propsValue.siteUrl,
});
return res.data;
},
});

View File

@@ -0,0 +1,15 @@
import { createAction } from '@activepieces/pieces-framework';
import { googleSearchConsoleAuth, createAuthClient } from '../../';
export const listSites = createAction({
auth: googleSearchConsoleAuth,
name: 'list_sites',
displayName: 'List Sites',
description: "Lists the user's Search Console sites.",
props: {},
async run(context) {
const webmasters = createAuthClient(context.auth.access_token);
const res = await webmasters.sites.list();
return res.data;
},
});

View File

@@ -0,0 +1,98 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { googleSearchConsoleAuth, createAuthClient } from '../../';
import { commonProps } from '../common';
import dayjs from 'dayjs';
export const searchAnalytics = createAction({
auth: googleSearchConsoleAuth,
name: 'search_analytics',
displayName: 'Search Analytics',
description:
'Query traffic data for your site using the Google Search Console API.',
props: {
siteUrl: commonProps.siteUrl,
startDate: Property.DateTime({
displayName: 'Start Date',
description:
'The start date of the date range to query (in YYYY-MM-DD format).',
required: true,
defaultValue: new Date().toISOString().split('T')[0],
}),
endDate: Property.DateTime({
displayName: 'End Date',
description:
'The end date of the date range to query (in YYYY-MM-DD format).',
required: true,
defaultValue: new Date().toISOString().split('T')[0],
}),
dimensions: Property.Array({
displayName: 'Dimensions',
description:
'The dimensions to group results by. For example: ["query", "page", "country", "device", "searchAppearance", "date"].',
required: false,
}),
filters: Property.Array({
displayName: 'Filters',
description:
'Optional filters to apply to the data. Filters can be used to restrict the results to a specific subset.',
properties: {
dimension: Property.ShortText({
displayName: 'Dimension',
description:
'The dimension to filter by (e.g., query, page, country, device).',
required: true,
}),
operator: Property.ShortText({
displayName: 'Operator',
description: 'The filter operator to apply (e.g., equals, contains).',
required: true,
}),
expression: Property.ShortText({
displayName: 'Expression',
description: 'The expression to compare the dimension against.',
required: true,
}),
},
required: false,
}),
aggregationType: Property.ShortText({
displayName: 'Aggregation Type',
description:
'How data is aggregated. Options include "auto", "byPage", "byProperty".',
required: false,
}),
rowLimit: Property.Number({
displayName: 'Row Limit',
description: 'The maximum number of rows to return.',
required: false,
}),
startRow: Property.Number({
displayName: 'Start Row',
description:
'The first row to return. Use this parameter to paginate results.',
required: false,
}),
},
async run(context) {
const webmasters = createAuthClient(context.auth.access_token);
const filters = context.propsValue.filters as any;
const res = await webmasters.searchanalytics.query({
siteUrl: context.propsValue.siteUrl,
requestBody: {
startDate: dayjs(context.propsValue.startDate).format('YYYY-MM-DD'),
endDate: dayjs(context.propsValue.endDate).format('YYYY-MM-DD'),
dimensions: context.propsValue.dimensions as string[],
dimensionFilterGroups: filters.map((filter: any) => ({
dimension: filter.dimension,
operator: filter.operator,
expression: filter.expression,
})),
aggregationType: context.propsValue.aggregationType,
rowLimit: context.propsValue.rowLimit,
startRow: context.propsValue.startRow,
},
});
return res;
},
});

View File

@@ -0,0 +1,25 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { googleSearchConsoleAuth, createAuthClient } from '../../';
import { commonProps } from '../common';
export const submitSitemap = createAction({
auth: googleSearchConsoleAuth,
name: 'submit_sitemap',
displayName: 'Submit a Sitemap',
description: 'Submits a sitemap for a site.',
props: {
siteUrl: commonProps.siteUrl,
feedpath: Property.ShortText({
displayName: 'Sitemap Path',
required: true,
}),
},
async run(context) {
const webmasters = createAuthClient(context.auth.access_token);
await webmasters.sitemaps.submit({
siteUrl: context.propsValue.siteUrl,
feedpath: context.propsValue.feedpath,
});
return { success: true };
},
});

View File

@@ -0,0 +1,43 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { googleSearchConsoleAuth } from '../../';
import {
AuthenticationType,
httpClient,
HttpMethod,
HttpRequest,
} from '@activepieces/pieces-common';
import { commonProps } from '../common';
export const urlInspection = createAction({
auth: googleSearchConsoleAuth,
name: 'urlInspection',
displayName: 'URL Inspection',
description:
"Use the URL Inspection action to check the status and presence of a specific page within Google's index.",
props: {
siteUrl: commonProps.siteUrl,
url: Property.ShortText({
displayName: 'URL to Inspect',
required: true,
}),
},
async run(context) {
const request: HttpRequest = {
method: HttpMethod.POST,
url: 'https://searchconsole.googleapis.com/v1/urlInspection/index:inspect',
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: context.auth.access_token,
},
headers: { 'Content-Type': 'application/json' },
body: {
inspectionUrl: context.propsValue.url,
siteUrl: context.propsValue.siteUrl,
},
};
const response = await httpClient.sendRequest(request);
return response.body;
},
});

View File

@@ -0,0 +1,32 @@
import { createAuthClient, googleSearchConsoleAuth } from '../../';
import { PiecePropValueSchema, Property } from '@activepieces/pieces-framework';
export const commonProps = {
siteUrl: Property.Dropdown({
auth: googleSearchConsoleAuth,
displayName: 'Site URL',
required: true,
refreshers: [],
refreshOnSearch: false,
options: async ({ auth }) => {
const authValue = auth
if (!authValue) {
return {
disabled: true,
options: [],
placeholder: 'Please connect your account first',
};
}
const webmasters = createAuthClient(authValue.access_token);
const res = await webmasters.sites.list();
const sites = res.data.siteEntry || [];
return {
options: sites.map((site: any) => ({
label: site.siteUrl,
value: site.siteUrl,
})),
};
},
}),
};

View File

@@ -0,0 +1,19 @@
{
"extends": "../../../../tsconfig.base.json",
"compilerOptions": {
"module": "commonjs",
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitOverride": true,
"noPropertyAccessFromIndexSignature": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
},
"files": [],
"include": [],
"references": [
{
"path": "./tsconfig.lib.json"
}
]
}

View File

@@ -0,0 +1,11 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"module": "commonjs",
"outDir": "../../../../dist/out-tsc",
"declaration": true,
"types": ["node"]
},
"exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"],
"include": ["src/**/*.ts"]
}