小编Jef*_*ick的帖子

将YouTube Analytics API与CMS帐户配合使用

尝试使用CMS帐户获取youtube analytics api数据时,我收到403 Forbidden错误.

只是为了确认,CMS帐户与服务帐户是一回事吗?

我可以获取oauth2用户拥有的频道的分析数据,但我在通过我的CMS帐户访问的任何其他频道上获得403,但不是内容所有者.(我在CMS帐户上有管理员帐户级别,而我收到403错误的渠道有"托管"关系)

问题:是否有任何计划让youtube.analytics api支持查询CMS帐户下管理的频道?

似乎因为我可以使用该帐户使用CMS UI获取这些渠道的所有分析数据,我应该能够使用API​​执行相同操作.

analytics youtube-api youtube-analytics

7
推荐指数
1
解决办法
4311
查看次数

角度服务工作者路线

我已经使用Angular Service worker构建了一个应用程序,除了路由之外,它都能正常工作.如果我转到基本网址,应用程序加载正常,但如果我在离线时转到任何其他路由我得到一个离线错误.

我的ngsw-manifest.json看起来像

    {
        "routing": {
            "index": "/index.html",
            "routes": {
                "/": {
                "match": "exact"
                },
                "/home": {
                "match": "exact"
                },
                "/paramaterlessroutes": {
                "match": "exact"
                },
                "/routeswithparamaters": {
                "match": "prefix"
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

service-worker progressive-web-apps angular angular-service-worker

7
推荐指数
0
解决办法
685
查看次数

推荐的预有效载荷大小?

(代表某人公开询问/回答.)

我正在使用Workbox生成一个服务工作者,为我的渐进式Web应用程序预留资源.

我不愿意预先安排〜20mb的缩小JavaScript吗?显然,这是巨大的.20mb似乎太过分了.我的计划是只预先处理基本内容,然后使用运行时缓存.

换句话说,什么是一些通用的启发式方法来确定应该和不应该包含在预先缓存有效负载中的内容?

service-worker progressive-web-apps workbox

7
推荐指数
1
解决办法
434
查看次数

使用skipWaiting和clientsClaim与Workbox有什么缺点?

默认情况下skipWaiting,在Workbox中设置为false.假设您使用Workbox创建的服务工作程序进行缓存,那么将此设置为true是否有任何缺点?如果不这样做,您的应用程序的下一个版本将发布更新的资源URL(来自webpack).这些URL将在服务工作者的预缓存清单skipWaiting中更新,但没有,更新的服务工作者将不会被激活以利用它们,直到用户关闭其浏览器并重新打开.

这些更新的资源被正确加载(webpack将加载其中包含新哈希值的资源),但它们永远不会被缓存,直到用户再次关闭运行服务工作者的所有打开的浏览器并重新打开.在这种情况下,有没有理由不设置skipWaiting为真?

作为一个相关的问题,有什么确切clientsClaim控制?仅通过切换skipWaiting就可以解决上述问题; 那么客户承诺做什么?

service-worker workbox

7
推荐指数
1
解决办法
2377
查看次数

向请求添加新标头,同时保留正文

我正在为我的公司建立一个PWA用于房屋使用.我应该使用什么方法将持有者令牌附加到来自dom或web-worker的所有请求.

此方法张贴时,我使用的作品如预期formjson但我想一个更清洁或友好的方法,因为我不相信,text回退就足够了.

我在Google的workbox.js服务工作者模块中寻找一个功能,看看我是否可以设置一个拦截,以便在向我的服务器发出请求时始终附加Bearer令牌,因为这样可以解决为什么我最先在这里结束的问题地点.此代码基于Firebase Service Worker设置.并且没有任何东西可以获取并重新添加发布数据到新请求,从而有效地丢弃整个POST主体.

这是我最终得到的代码.

self.addEventListener( 'fetch', ( event ) => {
    const requestProcessor = async ( idToken ) => {

        let req = event.request;

        // For same origin https requests, append idToken to header.
        if ( self.location.origin == getOriginFromUrl( event.request.url ) &&
            ( self.location.protocol == 'https:' ||
                self.location.hostname == 'localhost' ) &&
            idToken ) {


            let contentType = req.headers.get( "Content-Type" );

            // Clone headers as request headers are immutable.
            const …
Run Code Online (Sandbox Code Playgroud)

javascript service-worker firebase-authentication progressive-web-apps workbox

6
推荐指数
1
解决办法
2239
查看次数

在angular.js应用程序中注册服务工作者

我正在使用ionic和angular.js创建一个应用程序,我在注册一个服务工作者时遇到了困难,我打算用它来添加新的应用程序安装横幅功能.我按照指示在app.js文件中添加了以下代码,但是我注意到发生了注册的任何信号,也没有任何错误.

这是我添加到app.js的代码:

if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('service-worker.js').then(function(registration) {
    //Registration was successful
    console.log('ServiceWorker registration successful with scope: ', registration.scope);
  }).catch(function(err) {
    //registration failed :(
    console.log('ServiceWorker registration failed: ', err);
  });
}
Run Code Online (Sandbox Code Playgroud)

angularjs service-worker

5
推荐指数
1
解决办法
1万
查看次数

存储客户端数据,使其可供 Service Worker 使用

在我的node.js 聊天应用程序中,我想在离线模式下保存聊天数据并在在线时推送通知。基本的聊天应用程序已完成。我正在将ws节点模块用于服务器代码。在客户端代码中,我想使用Service Worker来存储离线数据。我做了一些功课https://jakearchibald.com/2014/offline-cookbook/ https://ole.michelsen.dk/blog/making-an-offline-webapp-with-service-workers.html,但我我想我不明白如何将聊天数据存储在Service Worker离线数据中。

offline-caching service-worker

5
推荐指数
1
解决办法
1879
查看次数

Angular 6:DevTools 无法解析 SourceMap:https://example.com/ngsw_worker.es6.js.map

我使用 Angular CLI(ng add @angular/pwa)将我的 angular 6 应用程序转换为 PWA。我的目录中只有一个项目,所以我在没有指定项目名称的情况下运行了这个命令。

部署后,Service Worker 注册 - 一切似乎都井井有条,期待我在 google chrome 控制台中收到以下错误:

DevTools 解析 SourceMap 失败:https ://example.com/ngsw_worker.es6.js.map

这个错误是什么意思?以及如何修复/避免它?谢谢!

google-chrome service-worker progressive-web-apps angular-service-worker angular6

5
推荐指数
1
解决办法
8277
查看次数

在单页应用程序中检查Service Worker更新

我们有一个信号页应用程序,它已安装并处于活动状态。

现在我们的服务器重建了应用程序,服务端文件正在服务器端更新。

我们的客户对这个新的Service Worker文件一无所知,并且仍在使用旧的Service Worker文件。

什么时候有效? 如果我刷新/重新加载该应用程序,则正在安装新的Service Worker。

如果正在服务器上更新服务工作者文件并且未重新加载客户端,我们如何刷新客户端?

可能的解决方案:我认为,我需要在1小时左右之后进行轮询。

service-worker workbox workbox-webpack-plugin

5
推荐指数
1
解决办法
1475
查看次数

Angular 6 PWA 服务工作者不离线提供内容

我正在尝试使用 Angular 6 设置 PWA,但无法让 Service Worker 离线提供内容。我尝试了很多配置和东西几天了,但没有成功。

Service Worker 似乎已注册并且在 Chrome 的审计选项卡中运行灯塔通过了 pwa 测试。

服务工作者

PWA 评分

PWA 测试详情

我正在使用 Contentful 为该站点提供文本/资产。Service Worker 正在从 dataGroups 中获取内容,但在 Service Worker 进行获取时返回 204 代码。我只能假设这会导致缓存存储为空。

网络标签

缓存存储

但话又说回来,我希望灯塔测试失败,因为它不提供离线内容。我认为这是因为只要会话没有改变,页面就可以脱机工作。这意味着如果我关闭网络连接,它会在我从一条路线导航到另一条路线时工作,但如果我重新加载/打开新标签页/重新打开浏览器,则会失败并显示 504 代码。

我在本地 IIS 下托管 Angular 6 应用程序。

索引.html:

<base href="/servicemanager/">
Run Code Online (Sandbox Code Playgroud)

网络配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Angular Routes" stopProcessing="true">
        <match url=".*" />
        <conditions logicalGrouping="MatchAll">
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
        <action type="Rewrite" url="/servicemanager/index.html" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

</configuration>
Run Code Online (Sandbox Code Playgroud)

ngsw-config.json:

"dataGroups": [
{ …
Run Code Online (Sandbox Code Playgroud)

service-worker contentful progressive-web-apps angular angular-service-worker

5
推荐指数
0
解决办法
3835
查看次数