小编Rot*_*ock的帖子

如何获取Google服务帐户访问令牌javascript

我正在尝试设置我网站的分析仪表板,以便我查看网站使用情况.我不希望他们必须拥有一个谷歌帐户或单独添加它们才能看到结果.

我已经设置了服务帐户和OAuth2访问权限.我找到的所有教程都显示如下代码:

gapi.analytics.auth.authorize({
  clientid: 'Service account client ID',
  serverAuth: {
      access_token: 'XXXXXXXXXXXXXXXXX'
}
Run Code Online (Sandbox Code Playgroud)

所有的文档都谈到"......一旦你收到你的访问令牌......"但他们中没有人真正说出如何获得!我看到证书指纹,公钥指纹.我还看到了如何生成JSON和P12键.我没有看到如何生成访问令牌.

有人可以解释如何做到这一点?

我找到了这个.它解释说我需要密钥文件,这是一个坏主意,但没有说明如何实际做到这一点.

我也找到了这个.但我对Node.js一无所知,我希望这只是一条可能的路线?

javascript google-analytics-api

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

替代jQuery text(),包括元素之间的空格?

我在容器中有一些任意的正文.我不控制它所以我不知道它的结构.但是这样的事情:

<div id='content-area'>
  <h1>Heading</h1>
  <p>A paragraph or two</p>
  <ul>
    <li>item 1</li>
    <li>item 2</li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

这只是一个简单的例子,实际上它可能包含更多的项目和嵌套的东西,如表格.

我想提取所有文本并对所使用的单词进行一些处理.我正在使用以下jQuery来获取文本.

$('#content-area').text()
// HeadingA paragraph or twoitem 1item 2
Run Code Online (Sandbox Code Playgroud)

问题是每个标记项目之间没有空格.该文件说:

由于不同浏览器中HTML解析器的变化,返回的文本可能会在换行符和其他空白区域中有所不同.

我的所有搜索似乎都取消了删除空格的结果.有没有办法拉出所有文本并在元素之间保留空间?需要在浏览器中发生这样的javascript-ish方法.

html javascript jquery whitespace

15
推荐指数
2
解决办法
7413
查看次数

使用1个或更多jQuery承诺

我正在进行一次或多次REST/ajax调用以验证一些用户信息.其余的电话工作正常,信息又回来了.我面临的问题不在于代码的那部分,它看起来像这样.

function ensureUsers(recipients){
  var promises = [];
  for(var key in recipients){
      var payload = {'property':recipients[key]};
      promises.push( $.ajax({...}));
  }
  return $.when.apply($,promises);    
}

....

ensureUsers(users) // users is an array of 1 or more users
  .done(function(){
     console.log(arguments);
  )}
Run Code Online (Sandbox Code Playgroud)

如果初始数组中有多个用户,那么我的.done代码中的参数结构如下:

[[Object,"success",Object],[Object,"success",Object]...]
Run Code Online (Sandbox Code Playgroud)

然后,我可以迭代每个结果,检查状态,然后继续.

但是,如果初始数组中只有一个用户,则.done获取如下参数:

[Object,"success",Object]
Run Code Online (Sandbox Code Playgroud)

我觉得奇怪的是返回的结构会像那样改变.我找不到关于这个特定问题的任何内容,所以我一起解决了一个问题

var promises = Array.prototype.slice.call(arguments);
if(!Array.isArray(promises[0])){
    promises = [promises];  
}
Run Code Online (Sandbox Code Playgroud)

这真的是我能想到的最好的吗?或者是否有更好的方法来处理来自jQuery中的一个或多个ajax调用的返回promise?

javascript jquery promise

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

谷歌分析嵌入了api deauthorize

我按照本教程了解如何使用javascript在我的网站上设置谷歌分析仪表板,它正在运行.

我只需要在几天前点击"验证"按钮,它就会继续让我登录.我还没有找到添加"注销"或"取消授权"按钮的方法.我怎么做?

我正在查看gapi.analytics.auth文档并查看authorize和isAuthorized,但没有注销.

javascript google-analytics google-analytics-api

3
推荐指数
1
解决办法
1166
查看次数