我正在尝试调用 Google 我的商家资料 API 以从地点 ID 获取 localPosts,然后通过将其作为 html 代码嵌入到 wix 网站中来显示它们。这是我正在使用的方法和 API。在浏览器的开发者控制台中,我收到 401 错误。我相信这与需要 OAuth2.0 身份验证的 HTTP 请求有关,但我不明白为什么我需要这个,因为我没有访问任何用户数据,而是从 google place 位置获取公共信息。
<html>
<head>
<title>Google My Business Local Posts</title>
</head>
<body>
<h1>Local Posts</h1>
<div id="localPosts"></div>
<script>
const apiKey = 'APIKEY';
const placeId = 'PLACEID';
async function fetchLocalPosts() {
try {
const response = await fetch(`https://mybusiness.googleapis.com/v4/accounts/${apiKey}/locations/${placeId}/localPosts`, {
headers: {
'Authorization': `Bearer ${apiKey}`
}
});
if (response.ok) {
const data = await response.json();
const localPostsContainer = document.getElementById('localPosts');
data.forEach(post => {
const postElement = document.createElement('div');
postElement.classList.add('post');
const titleElement = document.createElement('h2');
titleElement.textContent = post.title;
const contentElement = document.createElement('p');
contentElement.textContent = post.content;
postElement.appendChild(titleElement);
postElement.appendChild(contentElement);
localPostsContainer.appendChild(postElement);
});
} else {
console.error('Request failed:', response.statusText);
}
} catch (error) {
console.error('Error fetching local posts:', error);
}
}
fetchLocalPosts();
</script>
</body>
</html>
商家资料 API 不允许您检索任何人的位置数据,而只能检索您拥有的位置数据。因此,OAuth 2.0 方面需要验证经过身份验证的用户是否也有权访问这些位置。