मैंने Google एपीआई का उपयोग करने के तरीके के दस्तावेज, उदाहरण और ट्यूटोरियल पढ़े हैं, मेरे पास एक मिनी-ऐप पहले से चल रहा है जो आपकी नवीनतम गतिविधियां और जानकारी दिखाता है, लेकिन मैं टोकन स्टोर करने के लिए सत्र का उपयोग करें।Google+ ओएथ एपीआई स्टोर और पहले लॉगिन और प्राधिकरण के बाद टोकन पुनर्प्राप्त करें
मेरा सवाल यह है कि, मैं डेटाबेस से टोकन को कैसे संग्रहीत और पुनर्प्राप्त कर सकता हूं ताकि जब कोई उपयोगकर्ता (जो पहले ही पंजीकृत हो) क्लिक करता है "लॉगिन" पर क्लिक करता है, तो यह बिना किसी प्राधिकरण के तुरंत एपीआई का उपयोग कर सकता है? ध्यान दें कि मैंने अपने मिनी-ऐप के लिए एक प्रारंभिक बिंदु के रूप में उदाहरण का उपयोग किया था।
$client = new apiClient();
$client->setApplicationName(APP_NAME);
$client->setClientId(CLIENT_ID);
$client->setClientSecret(CLIENT_SECRET);
$client->setRedirectUri(REDIRECT_URL);
$client->setDeveloperKey(DEV_KEY);
$plus = new apiPlusService($client);
$google_userinfo = new apiOauth2Service($client);
$message = "";
// In a real application this would be stored in a database, and not in the session!
if (isset($_SESSION['token']))
$client->setAccessToken($_SESSION['token']);
$_SESSION['token'] = $client->getAccessToken();
if (isset($_GET['code'])) {
$client->authenticate();
// In a real application this would be stored in a database, and not in the session!
$_SESSION['token'] = $client->getAccessToken();
header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
}
...
//Somewhere here, I added a function that ties $_SESSION['token'] to the user's info.
...
<form action="" method="post" id="form1" name="form1">
<fieldset>
<div id="main-url-section" style="width: 50%;margin: 0px auto;text-align: center;">
<?php
$authUrl = $client->createAuthUrl();
print "<p><a class='login' href='$authUrl'>Log me in!</a></p>";
?>
</div>
</fieldset>
</form>
आप मदद के लिए बहुत बहुत शुक्रिया:
कोड स्निपेट है!
सादर,
जॉन
इस उत्तर के लिए धन्यवाद! यह उपयोगी है और मैं इसे अस्थायी फिक्स के रूप में उपयोग कर सकता हूं। :) मैंने इसे पहले से ही चेक कर लिया है। लेकिन क्या आपको पता है कि किसी क्लाइंट को $ क्लाइंट-> getAccessToken() में टोकन स्टोर करने के तरीके पर किसी भी पोस्ट का लिंक है या नहीं? और जब उपयोगकर्ता लॉग इन करता है तो उनका उपयोग करें? – user1239714
@ user1239714: मुझे यहां सलाह के लिए लिंक करने के लिए एक विशिष्ट स्थान के बारे में पता नहीं है। यह पूरी तरह से निर्भर करता है कि आप अपने आवेदन में शेष डेटा कैसे बनाते हैं। उदाहरण के लिए, यदि आप एक सामान्य LAMP एप्लिकेशन लिख रहे हैं, तो बाद में याद करने के लिए MySQL में रीफ्रेश टोकन को स्टोर करना समझ में आता है। – mimming
@ जेनी मर्फी "आप इसे स्रोत कोड में देख सकते हैं"। लिंक टूटा हुआ है। क्या आप कृपया एक और नमूना – knightrider