PHP-Google API(测试版)获取承载令牌

时间:2018-08-06 12:09:41

标签: php google-api google-api-php-client

我一直在使用PHP中的Google API客户端进行Google助手项目,我需要在其中发布交易更新。

请参阅:https://developers.google.com/actions/transactions/dev-guide-physical-custom#6_send_order_updates

我使用服务器到服务器过程进行连接:https://developers.google.com/api-client-library/php/auth/service-accounts

我没有找到对“交易”或“操作”的任何支持。因此,我不能仅仅像示例那样调用服务。我的目标只是取回不记名令牌并根据交易文档对更新进行编码。

所以我编写了这段代码:

$client = new Google_Client();              
putenv('GOOGLE_APPLICATION_CREDENTIALS='.'path/to/file/');
$client->useApplicationDefaultCredentials();                                 
$client->setApplicationName('Update_Orders_Test');                                 
$client->setScopes(['https://www.googleapis.com/auth/actions.fulfillment.conversation']);
$auth = $client->authorize();

但是使用此代码,我无法在$ client对象或$ auth对象中获得不记名令牌。但是我也没有任何错误。 JSON文件的路径正确,如果文件不存在,则错误。

这是客户端对象:

{
  "auth": null,
  "http": {},
  "cache": {},
  "token": null,
  "config": {
    "application_name": "Update_Orders_Test",
    "base_path": "https://www.googleapis.com",
    "client_id": "",
    "client_secret": "",
    "redirect_uri": null,
    "state": null,
    "developer_key": "",
    "use_application_default_credentials": true,
    "signing_key": null,
    "signing_algorithm": null,
    "subject": null,
    "hd": "",
    "prompt": "",
    "openid.realm": "",
    "include_granted_scopes": null,
    "login_hint": "",
    "request_visible_actions": "",
    "access_type": "online",
    "approval_prompt": "auto",
    "retry": [],
    "cache_config": [],
    "token_callback": null,
    "jwt": null
  },
  "logger": null,
  "deferExecution": false,
  "requestedScopes": [
    "https://www.googleapis.com/auth/actions.fulfillment.conversation"
  ]
}

您可以看到已设置了基本信息,但没有设置相对于json文件的信息。

此代码有什么地方做错了吗?

0 个答案:

没有答案