小编Bo.*_*Bo.的帖子

Google Analytics:尝试进行授权 API 调用时 JWT 签名 (invalid_grant) 无效

我尝试对 Google Analytics 中的服务帐户进行授权 API 调用(HTTP/REST)。使用此文档:https ://developers.google.com/identity/protocols/OAuth2ServiceAccount

我只是使用 HTTP/REST 请求来测试。

所以我有服务帐户的私钥文件:

{
  "type": "service_account",
  "project_id": "test-x",
  "private_key_id": "some_private_key_id",
  "private_key": "-----BEGIN PRIVATE KEY----- some_private_key -----END PRIVATE KEY-----",
  "client_email": "test-01@test-x.iam.gserviceaccount.com",
  "client_id": "some_client_id",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://accounts.google.com/o/oauth2/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/test-01%40test-x.iam.gserviceaccount.com"
}
Run Code Online (Sandbox Code Playgroud)

我根据 client_email 创建 JWT:test-01@test-x.iam.gserviceaccount.com

标题:

{"alg":"RS256","typ":"JWT"}
Run Code Online (Sandbox Code Playgroud)

索赔集:

{
  "iss": "test-01@test-x.iam.gserviceaccount.com",
  "scope": "https://www.googleapis.com/auth/analytics.readonly",
  "aud": "https://www.googleapis.com/oauth2/v4/token",
  "exp": 1488820112,
  "iat": 1488816522
}
Run Code Online (Sandbox Code Playgroud)

iat - 我刚刚设置了当前

exp - 当前 + 1 小时,

我使用此服务来创建签名: https: //jwt.io/#debugger

它生成编码值,我尝试将其用于访问令牌请求

当我尝试使用“编码”字段生成的结果时:

curl -d 'grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=JWT_that_has_been_signed' https://www.googleapis.com/oauth2/v4/token
Run Code Online (Sandbox Code Playgroud)

结果:

{
 "error": …
Run Code Online (Sandbox Code Playgroud)

rest google-analytics oauth-2.0 jwt

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

Keystonejs:自定义 Keystonejs 默认管理 UI 主题

我尝试自定义Keystonejs Admin UI主题:更改原色等。

所以,我要覆盖keystone.less它位于node_modules:

.
|____node_modules
| |____keystone
| | |____public
| | | |____styles
| | | | |____keystone.less

|____public
| |____styles
| | |____keystone.less // This will overwrite the UI
Run Code Online (Sandbox Code Playgroud)

新的 keystone.less 内容:

// Elemental
// ------------------------------

@import "@{elementalPath}/less/elemental.less";


// KEYSTONE VARIABLES
@import "../../node_modules/keystone/admin/public/styles/variables.less";

// KEYSTONE AUTH
@import "../../node_modules/keystone/admin/public/styles/auth.less";

// KEYSTONE SETUP
@import "../../node_modules/keystone/admin/public/styles/keystone/animation.less";
@import "../../node_modules/keystone/admin/public/styles/keystone/base.less";
@import "../../node_modules/keystone/admin/public/styles/keystone/dashboard.less";
@import "../../node_modules/keystone/admin/public/styles/keystone/forms.less";
@import "../../node_modules/keystone/admin/public/styles/keystone/navigation.less";
@import "../../node_modules/keystone/admin/public/styles/keystone/tables.less";
@import "../../node_modules/keystone/admin/public/styles/keystone/utils.less";

@import "../../node_modules/keystone/admin/public/styles/keystone/list.less";
@import "../../node_modules/keystone/admin/public/styles/keystone/list-dropzone.less";
@import "../../node_modules/keystone/admin/public/styles/keystone/item.less";
@import "../../node_modules/keystone/admin/public/styles/keystone/toolbar.less"; …
Run Code Online (Sandbox Code Playgroud)

javascript frontend less node.js keystonejs

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

Magento REST API 错误:无效的 xml

看起来我的问题和这个问题一样:Magento Rest Api Invalid XML 但它仍然没有得到回答..

我刚刚在我的本地主机上安装了带有示例数据的 magento 1.9 并尝试测试 REST API。我在管理面板中将 REST 角色和 REST 属性设置为 ALL。但是当我尝试在浏览器中输入以下 URL 时:http://magentohost/api/rest/products?limit=2

我收到回复:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <script/>
  <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
      <faultcode>Sender</faultcode>
      <faultstring>Invalid XML</faultstring>
    </SOAP-ENV:Fault>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Run Code Online (Sandbox Code Playgroud)

error_log 为空,

访问日志:

GET /magentohost/api/rest/products?limit=2 HTTP/1.1" 500
Run Code Online (Sandbox Code Playgroud)

看起来我在设置中遗漏了一些东西..感谢您的帮助!

xml api rest magento fault

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

nifi invokehttp post complex json

我尝试在Apache NiFi中使用InvokeHttpProcessor来执行具有复杂JSON主体的POST请求.相应的本教程:http://www.tomaszezula.com/2016/10/30/nifi-and-http-post-configuration

我知道如何使用UpdateAttribute处理器添加名称/值对,然后通过AttributesToJSON应用其他转换.

但是如何处理复杂的JSON?例如,我必须向GoogleAnalytics报告API执行请求,因此我需要执行此请求:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet

{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "dateRanges": [{"startDate": "2014-11-01", "endDate": "2014-11-30"}],
      "metrics": [{"expression": "ga:users"}]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

rest json google-analytics google-analytics-api apache-nifi

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