Нет, Google Cloud PUB/SUB Node.js API Client требует использования учетной записи службы (service account) для аутентификации и авторизации запросов к сервису. Однако, вы можете использовать access token для авторизации запросов, но все равно вам нужно будет создать service account и получить access token через OAuth.
Для авторизации Node.js API Client для Google Cloud Pub/Sub с использованием access token, вам нужно будет выполнить следующие шаги:
1. Создайте service account в вашем проекте Google Cloud Console.
2. Скачайте JSON-файл ключа для вашего service account.
3. Получите access token через OAuth с использованием вашего service account и полученного JSON-ключа.
4. Подставьте полученный access token в заголовок авторизации вашего запроса к API.
Например, вы можете использовать библиотеку `request` для отправки запросов с авторизацией через access token:
```javascript
const request = require('request');
const accessToken = 'YOUR_ACCESS_TOKEN';
const project = 'YOUR_PROJECT_ID';
const topic = 'YOUR_TOPIC_NAME';
const options = {
uri: `https://pubsub.googleapis.com/v1/projects/${project}/topics/${topic}:publish`,
method: 'POST',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
messages: [
{
data: Buffer.from('Hello, World').toString('base64')
}
]
})
};
request(options, (error, response, body) => {
if (error) {
console.error(error);
} else {
console.log(body);
}
});
```
Этот пример отправляет сообщение на указанный топик в Google Cloud Pub/Sub с использованием access token для авторизации запроса. Не забудьте заменить `YOUR_ACCESS_TOKEN`, `YOUR_PROJECT_ID` и `YOUR_TOPIC_NAME` соответственно вашими значениями.