काम नहीं कर रहा है, मैं WordPress साइट के लिए Google+ ऑथ जोड़ने की कोशिश कर रहा हूं। मैं क्या चाहता हूं: यदि उपयोगकर्ता साइट पर पंजीकृत नहीं है तो Google+ में लेखक के बाद - मैं उसे उस पृष्ठ पर रीडायरेक्ट करता हूं जहां वह अपना उपयोगकर्ता नाम दर्ज करता है; यदि उपयोगकर्ता पहले से ही पंजीकृत है - यह में यहां लॉग इन किया जाएगा मेरी जे एस कोड:सर्वर-साइड ऐप्स के लिए Google+ साइन-इन
function doGooglePlusLogin(authResult) {
if (authResult['code']) {
jQuery('#signinButton').attr('style', 'display: none');
jQuery.ajax({
url: '<?php echo site_url(); ?>/wp-admin/admin-ajax.php',
type: 'get',
dataType: 'json',
data: {
action: 'login_gplus',
code: authResult['code']
},
success: function(result) {
},
});
} else if (authResult['error']) {
}
}
यहाँ
मेरे php कोड:
function login_gplus() {
$response = array();
if (isset($_GET['code']) && !empty($_GET['code'])) {
@session_start();
$client = new Google_Client();
$client->setApplicationName('Test');
$client->setAccessType('offline');
$client->setClientId(get_option(SOCIAL_GPLUS_CLIENT_ID));
$client->setClientSecret(get_option(SOCIAL_GPLUS_CLIENT_SECRET));
$client->setDeveloperKey(get_option(SOCIAL_GPLUS_API_KEY));
$client->setRedirectUri(get_option(SOCIAL_GPLUS_REDIRECT_URIS));
$client->setApprovalPrompt('auto');
$code = $_GET['code'];
$client->authenticate($code);
$token = json_decode($client->getAccessToken());
$reqUrl = 'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=' . $token->access_token;
$req = new Google_HttpRequest($reqUrl);
$tokenInfo = json_decode(
$client->getIo()
->authenticatedRequest($req)
->getResponseBody());
if ($tokenInfo->error) {
$response['test'] = $tokenInfo->error;
send_json_response($response);
die();
}
if ($tokenInfo->audience != get_option(SOCIAL_GPLUS_CLIENT_ID)) {
$response['test'] = "Token's client ID does not match app's.";
send_json_response($response);
die();
}
$response['test'] = 'Succesfully connected with token: ' . print_r($token, true);
}
send_json_response($response);
die();
}
प्रयोक्ता को सफलतापूर्वक Google+ में अधिकृत लेकिन php में मैं यह मिल गया:
।गंभीर त्रुटि: न आया हुआ अपवाद संदेश के साथ 'Google_AuthException' 'प्राप्त करने में त्रुटि OAuth2 पहुँच टोकन, संदेश:'/var/www/html/v4/WP-सामग्री/plugins/सामाजिक/google-प्लस/google-api में redirect_uri_mismatch '' /auth/Google_OAuth2.php:113 स्टैक ट्रेस: # 0/var/www/html/v4 /wp-content/plugins/social/google-plus/google-api/Google_Client.php(131): Google_OAuth2-> प्रमाणित (सरणी, '4/ScmpTqEIWt0SJ ...') # 1/var/www/html/v4 /wp-content/plugins/social/google-plus/functions.php(35): Google_Client-> प्रमाणित करें ('4/ScmpTqEIWt0SJ ...') # 2 [आंतरिक फ़ंक्शन]: login_gplus ('') # 3/var /www/html/v4/wp-includes/plugin.php(406): call_user_func_array ('login_gplus', सरणी) # 4 /var/www/html/v4/wp-admin/admin-ajax.php(74): do_action ('wp_ajax_nopriv _...') # 5 {मुख्य} लाइन 113
पर /var/www/html/v4/wp-content/plugins/social/google-plus/google-api/auth/Google_OAuth2.php में फेंक दियाएप्लिकेशन सेटिंग पुनर्निर्देशन यूआरआई में http://example.com/wp-admin/admin-ajax.php के रूप में निर्दिष्ट। मैं गलत क्या करूँ?
संपादित:
Google+ साइन-इन बटन परिभाषा:
<span id="signinButton">
<span class="g-signin"
data-callback="doGooglePlusLogin"
data-clientid="<?php echo $this->gplus_client_id; ?>"
data-cookiepolicy="single_host_origin" data-accesstype="offline"
data-requestvisibleactions="http://schemas.google.com/AddActivity"
data-scope="https://www.googleapis.com/auth/plus.login">
</span>
</span>
SOCIAL_GPLUS_REDIRECT_URIS example.com/wp-admin/admin-ajax.php?action=login_gplus
आप [Google+ साइन-इन बटन] का उपयोग कर रहे (https://developers.google.com/+/web/signin/) या आप अपने आप को प्रवाह ट्रिगर कर रहे हैं? कृपया अपना फ्रंट-एंड कोड पोस्ट करें जो दिखाता है कि यह प्रवाह कैसे ट्रिगर किया जा रहा है। हमें उन कॉन्फ़िगरेशन पैरामीटर को देखने की आवश्यकता है जो Google को पास की जा रही हैं। (अपने क्लाइंट आईडी को छुपाएं। साथ ही, हमें आपके एसओसीआईएल_जीपीएलयूएसडीडीआरईआरयूआरआईआरआईआर – BrettJ
के लिए आपके मूल्यों के PHP पक्षों को देखने की ज़रूरत है। मैं Google+ साइन-इन बटन का उपयोग कर रहा हूं। ' gplus_client_id;?>" डेटा-cookiepolicy = "single_host_origin" डेटा-accesstype = "ऑफ़लाइन" डेटा-अनुरोध विज़िटेबिलिटी = "http://schemas.google.com/AddActivity" डेटा-स्कोप = "https://www.googleapis.com/auth/plus।लॉग इन "> ' – Peter
SOCIAL_GPLUS_REDIRECT_URIS http://example.com/wp-admin/admin-ajax.php?action=login_gplus – Peter