/** * Creates a container version for a particular account * with the input accountPath. * @param {string} accountPath The account path. * @return {string} The tag manager container version. */functioncreateContainerVersion(accountPath){constdate=newDate();// Creates a container in the account, using the current timestamp to make// sure the container is unique.try{constcontainer=TagManager.Accounts.Containers.create({'name':'appscripttagmanagercontainer'+date.getTime(),'usageContext':['WEB']},accountPath);constcontainerPath=container.path;// Creates a workspace in the container to track entity changes.constworkspace=TagManager.Accounts.Containers.Workspaces.create({'name':'appscriptworkspace','description':'appscriptworkspace'},containerPath);constworkspacePath=workspace.path;// Creates a random value variable.constvariable=TagManager.Accounts.Containers.Workspaces.Variables.create({'name':'appsscriptvariable','type':'r'},workspacePath);// Creates a trigger that fires on any page view.consttrigger=TagManager.Accounts.Containers.Workspaces.Triggers.create({'name':'appsscripttrigger','type':'PAGEVIEW'},workspacePath);// Creates a arbitary pixel that fires the tag on all page views.consttag=TagManager.Accounts.Containers.Workspaces.Tags.create({'name':'appsscripttag','type':'img','liveOnly':false,'parameter':[{'type':'boolean','key':'useCacheBuster','value':'true'},{'type':'template','key':'cacheBusterQueryParam','value':'gtmcb'},{'type':'template','key':'url','value':'//example.com'}],'firingTriggerId':[trigger.triggerId]},workspacePath);// Creates a container version with the variabe, trigger, and tag.constversion=TagManager.Accounts.Containers.Workspaces.create_version({'name':'appsscriptversion'},workspacePath).containerVersion;console.log(version);returnversion;}catch(e){// TODO (Developer) - Handle exceptionconsole.log('Failedwitherror:%s',e.error);}}
コンテナのバージョンを公開し、現在のドラフト コンテナのクイック プレビューを確認する
以下のサンプルコードでは、Tag Manager API V2 を使用して、上記の例で作成したコンテナのバージョンを承認し、そのバージョンからアカウント、コンテナ、バージョン ID を取得しています。このサンプルでは、これらの ID を使用してコンテナのバージョンを公開しています。最後に、新しいワークスペースのクイック プレビューを作成し、それを記録しています。
/** * Retrieves the container path from a container version path. * @param {string} versionPath The version path. * @return {string} The container path. */functiongrabContainerPath(versionPath){constpathParts=versionPath.split('/');returnpathParts.slice(0,4).join('/');}/** * Publishes a container version publically to the world and creates a quick * preview of the current container draft. * @param {object} version The container version. */functionpublishVersionAndQuickPreviewDraft(version){try{constcontainerPath=grabContainerPath(version.path);// Publish the input container version.TagManager.Accounts.Containers.Versions.publish(version.path);constworkspace=TagManager.Accounts.Containers.Workspaces.create({'name':'appscriptworkspace','description':'appscriptworkspace'},containerPath);constworkspaceId=workspace.path;// Quick previews the current container draft.constquickPreview=TagManager.Accounts.Containers.Workspaces.quick_preview(workspace.path);console.log(quickPreview);}catch(e){// TODO (Developer) - Handle exceptionsconsole.log('Failedwitherror:$s',e.error);}}
ユーザー環境を作成して再認証する
以下のサンプルコードでは、Tag Manager API V2 を使用してコンテナのバージョンを承認し、アカウント、コンテナ、バージョン ID を抽出しています。このサンプルでは、これらの ID を使用して、入力コンテナのバージョンを参照するユーザー環境を作成し、それを記録しています。最後に、再認証されたユーザー環境を記録します。
/** * Retrieves the container path from a container version path. * @param {string} versionPath The version path. * @return {string} The container path. */functiongrabContainerPath(versionPath){constpathParts=versionPath.split('/');returnpathParts.slice(0,4).join('/');}/** * Creates and reauthorizes a user environment in a container that points * to a container version passed in as an argument. * @param {object} version The container version object. */functioncreateAndReauthorizeUserEnvironment(version){try{// Creates a container version.constcontainerPath=grabContainerPath(version.path);// Creates a user environment that points to a container version.constenvironment=TagManager.Accounts.Containers.Environments.create({'name':'test_environment','type':'user','containerVersionId':version.containerVersionId},containerPath);console.log('Originaluserenvironment:'+environment);// Reauthorizes the user environment that points to a container version.TagManager.Accounts.Containers.Environments.reauthorize({},environment.path);console.log('Reauthorizeduserenvironment:'+environment);}catch(e){// TODO (Developer) - Handle exceptionsconsole.log('Failedwitherror:$s',e.error);}}
アカウント内のすべてのメールとコンテナのアクセス権を記録する
以下のサンプルコードでは、Tag Manager API V2 を使用して、タグ マネージャー アカウント内のすべての権限の一覧を検索しています。その後、ユーザーのメールアドレス、コンテナ ID、各エントリのコンテナのアクセス権の種類を記録します。
/** * Logs all emails and container access permission within an account. * @param {string} accountPath The account path. */functionlogAllAccountUserPermissionsWithContainerAccess(accountPath){try{constuserPermissions=TagManager.Accounts.User_permissions.list(accountPath).userPermission;for(leti=0;i < userPermissions.length;i++){constuserPermission=userPermissions[i];if('emailAddress'inuserPermission){constcontainerAccesses=userPermission.containerAccess;for(letj=0;j < containerAccesses.length;j++){constcontainerAccess=containerAccesses[j];console.log('emailAddress:'+userPermission.emailAddress+'containerId:'+containerAccess.containerId+'containerAccess:'+containerAccess.permission);}}}}catch(e){// TODO (Developer) - Handle exceptionsconsole.log('Failedwitherror:$s',e.error);}}
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2024-12-21 UTC。"],[[["The Google Tag Manager service allows authorized users to manage various aspects of their Tag Manager accounts programmatically via the Tag Manager API."],["This advanced service enables users to create, update, and manage accounts, containers, workspaces, tags, triggers, variables, and user permissions."],["Developers can use Apps Script to interact with the Tag Manager API, leveraging its objects, methods, and parameters for automating Tag Manager tasks."],["Sample code is provided to demonstrate how to create and publish container versions, manage environments, and control user permissions."],["For detailed information and support, refer to the Tag Manager API V2 reference documentation and the Google Tag Manager help center."]]],[]]