تصویر شیرین عبدالهی

اولین قدم برای استفاده از این قابلیت گوگل ، دانلود کتابخانه ی google-api-php-client از اینجاست

قدم دوم ساخت یک پروژه بر روی کنسول گوگل است.

  • ابتدا google api را فعال میکنید.
  • سپس api ای که میخواهید از آن استفاده کنید را فعال میکنید ، برای مثال اگر دسترسی به مخاطبان را بخواهید بایستی Contacts Api را فعال نمایید.
  • برای ارتباط با Api گوگل به یک ClientID و Client Secret نیاز دارید. در ستون سمت چپ ، روی گزینه ی Credential کلیک میکنید.
  •  در قسمت oAuth روی Create new Client ID کلیک مینمایید.در صفحه ی باز شده، Web Application را انتخاب کرده و در Authorized JavaScript origins  آدرس سایت خود و در قسمت redirect آن، آدرسی که پس از تایید کاربر میخواهید اطلاعات وی را در آنجا مدیریت کنید وارد می نمایید.
  •  حال بر اساس این اطلاعات شما یک client Id و یک client secret برای خود ساخته اید.

·         برای ازتباط با گوگل ، ابتدا کتابخانه ی گوگل را در فایل خود include میکنید.

session_start();
  $client_id = ;// Your Client Id
  $client_secret = ;// Your Client Secret
  $projectName = ;// Your Project Name
  $redirect=; //Redirect Url you specified in your ClientId

  $client = new Google_Client();
  $client->setApplicationName($projectName);
  $client->setScopes("http://www.google.com/m8/feeds/");
  $client->setClientId($client_id);
  $client->setClientSecret($client_secret);
  $client->setRedirectUri($redirect);

 


در کد بالا ، تلاش برای گرفتن دسترسی به contacts ها بود ، برای بدست آوردن scope پروژه خود میتوانید از oAuth PlayGround استفاده کنید.باید توجه شود که setRedirectUri حتما url ای باشد که موقع ساخت clientId از آن استفاده کردیم.
در url ای که برای بازگشت به گوگل دادیم ، برای تایید هویت کاربر ارسال شده از کد زیر استفاده میکنیم:

if (isset($_GET['code'])) {
    $client->authenticate();
    $_SESSION['token'] = $client->getAccessToken();
    $req = new Google_HttpRequest("https://www.google.com/m8/feeds/contacts/default/full");
    $val = $client->getIo()->authenticatedRequest($req);
    $xml = simplexml_load_string($val->getResponseBody());
    $xml->registerXPathNamespace('gd', 'http://schemas.google.com/g/2005');
 ...
}

 در قدم 3 oAuth playground میتوانید لیست موجود از عملیات های ممکن را برای Google_HttpRequest خود دریافت کنید.مقدار وارد شده در کد بالا ، لیست contact های کاربر را دریافت میکند.

 

توجه شود که اطلاعات ارسال شده از طرف گوگل به صورت xml است و میتوانیم جزییات آن را به راحتی بدست بیاوریم.

 

برچسب ها: 

دیدگاه‌ها

تصویر مهسا

مهسا (تایید نشده)

سلام.
چقدر خوب که اینجا رو پیدا کردم!
راستش من یه مشکلی دارم که چند روزه دارم باهاش سر و کله می‌زنم. اینکه بعد از انجام تمام این کارها وقتی کدم رو اجرا می‌کنم ارور می‌ده که سرویس مورد نظر در کشور شما تحریم هست و فلان...
برای ریکوئستش باید آیا پروکسی ست کنم؟‌اگه آره می‌شه بگیرد چطور؟
ممنون. من خیلی عجله دارم...

تصویر محمدعلی اکبری

محمدعلی اکبری

دو راه دارید:

  1. نرم افزار رو روی یه هاست خارج از ایران تست کنید
  2. از VPN استفاده کنید. اگر VPN ندارید OpenVPN رو با یکی از پروکسی های موجود مثل your freedom یا freegate کانفیگ کنید.
تصویر مهسا

مهسا (تایید نشده)

با تشکر از پاسخ شما.
برنامه‌‌م در لوکال هاست هست...
از Openvpnبا freegate ساتفاده کردم ولی باز هم همان ارور رو گرفتم...
[internalReason] => This service is not available from your country

تصویر مهسا

مهسا (تایید نشده)

متشکرم...
بالاخره با تغییر کد Google_IO_Curl تونستم براش پراکسی بذارم.

تصویر صادقی

صادقی (تایید نشده)

سلام . من از این api استفاده کردم و لیست تمام کانتکت ها رو بر میگرداند. چطور میتوانم فقط لیست افرادی رو که هم جزء کانتکت ها هستندو هم از api سایت من برای لاگین استفاده کردند رو بدست بیارم؟

افزودن نظر جدید