我一直在使用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文件的信息。
此代码有什么地方做错了吗?