Google API'nın nasıl kullanılacağına ilişkin dokümanları, örnekleri ve eğiticileri okudum, en son etkinliklerinizi ve bilgilerinizi gösteren bir mini uygulama var. belirteci saklamak için oturumları kullanın.Google+ OAuth API, ilk oturum açtıktan ve yetkilendirildikten sonra jetonları saklar ve alır
Sorum, belirteci veritabanından nasıl saklayabilir ve alabilirim, böylece bir kullanıcı (daha önce kayıt olan) "oturum aç" ı tıklattığında, API'yi tekrar tekrar yetkilendirme olmadan kullanabilir mi? Örneği mini uygulamam için başlangıç noktası olarak kullandığımı unutmayın.
$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>
Yardımın için çok teşekkür ederim:
İşte bir kod parçacığı İşte!
Selamlar,
John
Teşekkür Amos! Bu yararlı ve geçici bir çözüm olarak kullanabilirim. :) Zaten kontrol ettim. Ama) Sen nasıl $ client-> getAccessToken (olsun belirteçleri saklamak bilmek veya herhangi yayına bağlantı var mı? ve kullanıcı giriş yaptığında bunları kullanabilir mi? – user1239714
user1239714 @: Burada tavsiye için bağlamak için belirli bir yere ait bilmiyorum. Uygulamanızdaki verilerin geri kalanını nasıl sürdürdüğünüze bağlıdır. Tipik bir LAMBA uygulama yazıyorsanız Örneğin, bu daha sonra hatırlamak için MySql yenileme jetonu depolamak için mantıklı olabilir. – mimming
@JennyMurphy "Sen kaynak kodunda görebilirsiniz". Bağlantı bozuk. Başka bir numuneyi @knightrider Kafaları için – knightrider