我正在使用php.并希望在我的应用程序中使用一些JavaScript api函数。 所以任何人都可以知道我如何自动验证这个过程:
<!--Add a button for the user to click to initiate auth sequence -->
<button id="authorize-button" style="visibility: hidden">Authorize</button>
<script type="text/javascript">
var clientId = '837050751313';
var apiKey = 'AIzaSyAdjHPT5Pb7Nu56WJ_nlrMGOAgUAtKjiPM';
var scopes = 'https://www.googleapis.com/auth/plus.me';
function handleClientLoad() {
// Step 2: Reference the API key
gapi.client.setApiKey(apiKey);
window.setTimeout(checkAuth,1);
}
function checkAuth() {
gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true}, handleAuthResult);
}
function handleAuthResult(authResult) {
var authorizeButton = document.getElementById('authorize-button');
if (authResult && !authResult.error) {
authorizeButton.style.visibility = 'hidden';
makeApiCall();
} else {
authorizeButton.style.visibility = '';
authorizeButton.onclick = handleAuthClick;
}
}
function handleAuthClick(event) {
// Step 3: get authorization to use private data
gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: false}, handleAuthResult);
return false;
}
// Load the API and make an API call. Display the results on the screen.
function makeApiCall() {
// Step 4: Load the Google+ API
gapi.client.load('plus', 'v1').then(function() {
// Step 5: Assemble the API request
var request = gapi.client.plus.people.get({
'userId': 'me'
});
// Step 6: Execute the API request
request.then(function(resp) {
var heading = document.createElement('h4');
var image = document.createElement('img');
image.src = resp.result.image.url;
heading.appendChild(image);
heading.appendChild(document.createTextNode(resp.result.displayName));
document.getElementById('content').appendChild(heading);
}, function(reason) {
console.log('Error: ' + reason.result.error.message);
});
});
}
</script>
// Step 1: Load JavaScript client library
<script src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script>
我有 .json 和 .p12 文件进行身份验证,但我只想直接访问 api 功能,而不是重定向到 google 进行权限访问。
使用 Google+ API 或其他访问用户特定数据的 API(例如 Gmail、日历)时,您需要使用 OAuth 客户端并请求用户访问其数据的权限(即"重定向到 Google 以获得权限访问"),或使用服务帐号。
服务帐户是用于代替真实用户的机器人帐户。如果您决定使用服务帐户,则需要使用您提到的 JSON 或 P12 密钥。从 JavaScript 代码使用服务帐户需要大量工作,并且通常不安全,因为您将使每个人都可以访问您的服务帐户密钥。如果您要使用服务帐号,则应使用 Google API 客户端库从服务器调用 API。