این سند اطلاعات پیشزمینهای را که برای استفاده از Google Site Verification API نیاز دارید، توضیح میدهد.
مقدمه
Google Site Verification API برای توسعه دهندگانی در نظر گرفته شده است که می خواهند برنامه ها یا خدماتی بنویسند که فرآیند تأیید مالکیت یک سایت یا دامنه را خودکار می کند. این مهم است، زیرا برخی از خدمات Google فقط توسط صاحبان وب سایت یا دامنه قابل استفاده است. میتوانید از Google Site Verification API برای تأیید اینکه کاربر تأیید شده مالک دامنه یا سایت است استفاده کنید، احتمالاً به عنوان اولین گام در ارائه برنامهای دیگر خدمات Google.
این سند فرض میکند که شما با مفاهیم برنامهنویسی وب، فرمتهای دادههای وب آشنا هستید و این توانایی را دارید که فایلها یا رکوردهای DNS وبسایت یا دامنه خود را به صورت برنامهنویسی تغییر دهید.
نمای کلی
میتوانید از Google Site Verification API برای تغییر دادههای تأیید سایت Google کاربر استفاده کنید. کاربران تنها در صورتی میتوانند به برخی خدمات Google دسترسی داشته باشند که دادههای راستیآزمایی آنها نشان دهد که مالک دامنه وبسایت خاص هستند. میتوانید از API برای تولید نشانههای تأیید اعتبار برای کاربران تأیید شده استفاده کنید، که کد شما میتواند به روشهای مختلف در وبسایتها یا سوابق دامنهتان از طرف آنها قرار دهد. هنگامی که توکن در جای خود قرار گرفت، با API تماس می گیرید تا از Google بخواهید تا توکن را بررسی کند. اگر گوگل توکن را پیدا کند، کاربر احراز هویت شده را به عنوان مالک وب سایت یا دامنه ثبت می کند. همچنین می توانید از API برای اصلاح لیست مالکیت از طرف کاربر یا حذف مالکیت سایت به طور کلی استفاده کنید.
همه تماسهای API باید توسط یک کاربر احراز هویت شده تأیید شوند و همه تماسهای API در زمینه حساب کاربری تأیید شده اجرا میشوند.
به عنوان یک مثال مشخص از زمانی که ممکن است از این API استفاده کنید، فرض کنید یک سرویس میزبانی وب ارائه می دهید. کاربران شما می خواهند بتوانند از کنسول جستجوی گوگل برای دریافت اطلاعات در مورد سایت خود استفاده کنند. برای اینکه آنها این کار را انجام دهند، گوگل باید بداند که آنها واقعاً مالک آن هستند. بنابراین شما به کاربران خود رابطی ارائه می کنید که از آنها می خواهد مالکیت سایت را تأیید کنند. آنها به برنامه شما اجازه دسترسی به دادههای راستیآزمایی خود را میدهند، و اکنون میتواند کدی را اجرا کند که از طرف آنها یک توکن درخواست میکند، آن را در فایلی در ساختار سایت خود قرار میدهد و از Google میخواهد آن را بررسی کند. وقتی گوگل توکن را پیدا میکند، با بهروزرسانی اطلاعات تأیید، مالکیت سایت را به کاربر اعطا میکند. آنها اکنون می توانند از کنسول جستجو برای دریافت اطلاعات مورد نظر خود استفاده کنند.
قبل از شروع
یک حساب Google دریافت کنید
باید مطمئن شوید که یک حساب Google راه اندازی کرده اید. توصیه می کنیم از یک حساب Google جداگانه برای اهداف توسعه و آزمایش استفاده کنید تا از خود در برابر از دست دادن تصادفی داده محافظت کنید.
با تأیید سایت آشنا شوید
اگر با مفاهیم Google Site Verification API آشنا نیستید، باید این سند را بخوانید، رابط کاربری تأیید را آزمایش کنید و قبل از شروع به کدنویسی ، اسناد راهنمای مرتبط را بخوانید.
نحوه تأیید درخواست ها را بیاموزید
هر درخواستی که برنامه شما به Google Site Verification API ارسال می کند باید شامل یک نشانه مجوز باشد. توکن همچنین برنامه شما را در گوگل شناسایی می کند.
درباره پروتکل های مجوز
برنامه شما باید از OAuth 2.0 برای تأیید درخواست ها استفاده کند. هیچ پروتکل مجوز دیگری پشتیبانی نمی شود. اگر برنامه شما از ورود به سیستم با Google استفاده می کند، برخی از جنبه های مجوز برای شما انجام می شود.
تأیید درخواست ها با OAuth 2.0
همه درخواستها به Google Site Verification API باید توسط یک کاربر تأیید شده مجاز باشد.
جزئیات فرآیند مجوز یا "جریان" برای OAuth 2.0 بسته به نوع برنامه ای که می نویسید تا حدودی متفاوت است. فرآیند کلی زیر برای همه انواع برنامه ها اعمال می شود:
- هنگامی که برنامه خود را ایجاد می کنید، آن را با استفاده از Google API Console ثبت می کنید. سپس Google اطلاعاتی را که بعداً به آن نیاز خواهید داشت، مانند شناسه مشتری و راز مشتری ارائه می دهد.
- Google Site Verification API را در Google API Console فعال کنید. (اگر API در لیست API Console نیست، از این مرحله صرفنظر کنید.)
- هنگامی که برنامه شما نیاز به دسترسی به داده های کاربر دارد، از Google دامنه دسترسی خاصی را می خواهد.
- Google یک صفحه رضایت به کاربر نمایش می دهد و از او می خواهد تا به برنامه شما اجازه دهد تا برخی از داده های خود را درخواست کند.
- اگر کاربر تأیید کند، گوگل به برنامه شما یک رمز دسترسی کوتاه مدت می دهد.
- برنامه شما با پیوست کردن رمز دسترسی به درخواست، داده های کاربر را درخواست می کند.
- اگر Google تشخیص دهد که درخواست شما و رمز معتبر هستند، دادههای درخواستی را برمیگرداند.
برخی از جریانها شامل مراحل اضافی هستند، مانند استفاده از نشانههای تازهسازی برای به دست آوردن نشانههای دسترسی جدید. برای اطلاعات دقیق درباره جریانها برای انواع مختلف برنامهها، به اسناد OAuth 2.0 Google مراجعه کنید.
در اینجا اطلاعات محدوده OAuth 2.0 برای Google Site Verification API آمده است:
دامنه | معنی |
---|---|
https://www.googleapis.com/auth/siteverification | دسترسی کامل به خواندن برای سایت های تأیید شده موجود، امکان تأیید سایت های جدید. |
https://www.googleapis.com/auth/siteverification.verify_only | امکان تایید سایت های جدید، عدم دسترسی خواندن برای سایت های تایید شده موجود. |
برای درخواست دسترسی با استفاده از OAuth 2.0، برنامه شما به اطلاعات محدوده و همچنین اطلاعاتی که Google هنگام ثبت برنامه خود ارائه می دهد (مانند شناسه مشتری و رمز سرویس گیرنده) نیاز دارد.
نکته: کتابخانه های سرویس گیرنده Google APIs می توانند برخی از فرآیندهای مجوز را برای شما انجام دهند. آنها برای انواع زبان های برنامه نویسی در دسترس هستند. برای جزئیات بیشتر صفحه را با کتابخانه ها و نمونه ها بررسی کنید.
پسزمینه API تأیید سایت Google
مفاهیم
میتوانید از Google Site Verification API برای ایجاد مالکیت کاربر بر انواع منابع وب زیر استفاده کنید:
- دامنه: یک دامنه یا زیر دامنه. مالک یک دامنه، مالک تمامی سایت ها و زیر دامنه های تحت آن دامنه در نظر گرفته می شود. به عنوان مثال، مالک مستقیم
bar.com
نیز مالک غیرمستقیمfoo.bar.com
در نظر گرفته می شود. - Site: URL مربوط به دامنه پایه و مسیر یک وب سایت. صاحب یک سایت، مالک تمام سایت های تحت آن در نظر گرفته می شود. برای مثال، مالک «http://www.example.com/site» نیز مالک «http://www.example.com/site/subsite» در نظر گرفته می شود.
از آنجایی که مالکیت دامنه به طور گستردهتری نسبت به مالکیت سایت قابل اجرا است، توصیه میکنیم در صورت امکان با دامنهها تأیید کنید.
فرآیند ایجاد مالکیت زمانی شروع میشود که برنامه شما از طرف کاربر یک «ژتون تأیید» درخواست میکند. رمز تأیید یک رشته خاص است که کد شما باید در وب سایت یا دامنه خود قرار دهد. پس از اینکه رمز در جای خود قرار گرفت، برنامه شما میتواند درخواستی به Google Site Verification API ارسال کند که نشانه را بررسی میکند و پس از یافتن مالکیت آن را ثبت میکند.
محدودیت ها
به دلایل امنیتی و فنی، Google Site Verification API محدودیت هایی را در مورد نحوه استفاده از آن اعمال می کند:
- دسترسی به دادهها فقط برای کاربر احراز هویت شده: همه عملیات نیاز به تأیید اعتبار و مجوز کاربر دارند.
- تأیید فقط برای کاربر تأیید شده: API فقط می تواند مالکیت سایت ها یا دامنه ها را برای حساب تأیید شده فعلی تأیید کند. با این حال، کاربر احراز هویت شده می تواند پس از تأیید مالکیت آنها بر یک سایت، مالکیت آنها را به سایر کاربران واگذار کند. توجه داشته باشید که هر زمان که در لیست مالکیت تغییراتی ایجاد شود، همه مالکان از طریق ایمیل مطلع می شوند.
- فقط URL ها و نام های دامنه عادی شده است. Google Site Verification API از رمزگذاری IDN (نام دامنه بینالمللی) پشتیبانی نمیکند. مطمئن شوید که در صورت لزوم همه URL ها، نام های دامنه و دامنه های آدرس ایمیل را به مجموعه کاراکترهای نام دامنه استاندارد (RFC 1034 §3.5) با استفاده از Punycoding عادی کنید.
روش ها و نشانه های تأیید
API فراخوان هایی را برای مراحل جداگانه تأیید ارائه می دهد:
- قرار دادن رمز تأیید: یک فراخوان API برای بازیابی یک نشانه تأیید برای قرار دادن در سایت کاربر تأیید شده وجود دارد. اگر یک کاربر بیش از یک سایت دارد، باید برای هر سایت یک توکن متفاوت دریافت کنید.
- بررسی وجود نشانه تأیید: یک فراخوان API جداگانه وجود دارد تا از Google بخواهد که نشانه را بررسی کند تا تأیید کند که کاربر تأیید شده مالک یک سایت است.
چندین روش برای تأیید یک وب سایت یا دامنه وجود دارد که برنامه شما می تواند از آنها استفاده کند. یکی را که انتخاب می کنید بستگی به این دارد که چه چیزی برای نیازهای شما بهتر عمل می کند. محل قرار دادن توکن و همچنین نوع خود توکن بستگی به این دارد که کدام روش تأیید را انتخاب کنید.
روش تایید دامنه
دو روش تأیید برای دامنه ها وجود دارد:
- DNS_CNAME
برنامه شما یک رکورد CNAME جدید برای دامنه مالک ایجاد می کند، احتمالاً از طریق ثبت کننده دامنه آنها، با استفاده از رمز برای داده های رکورد. توکن از دو قسمت تشکیل شده است که با یک فاصله از هم جدا شده اند: قسمت اول نام رکورد جدید CNAME، قسمت دوم مقدار رکورد جدید CNAME است.
- DNS_TXT
برنامه شما یک رکورد TXT جدید برای دامنه مالک ایجاد می کند، احتمالاً از طریق ثبت کننده دامنه آنها، با استفاده از رمز برای داده های رکورد.
برای اطلاعات بیشتر به مستندات مرکز راهنمایی در مورد روش تأیید DNS مراجعه کنید.
روش های تایید سایت
سه روش تأیید برای سایت ها در دسترس است:
- فایل
- برنامه شما رمز را در قالب یک فایل در وب سایت مالک قرار می دهد. شما باید یک فایل با نام مطابق با رشته توکن با محتوای زیر ایجاد کنید:
google-site-verification: token
به عنوان مثال، اگر کاربر مالک سایت http://www.example.com/ است و رمز بازگردانده شده
google12cfc68677988bb4.html
است، شما فقط باید یک فایل در http://www.example.com/google12cfc68677988bb4 ایجاد کنید. html (در سطح بالای سایت خود)، با این مطالب:google-site-verification: google12cfc8677988bb4.html
برای اطلاعات بیشتر به مستندات مرکز راهنمایی در روش تأیید فایل مراجعه کنید.
- متا
برنامه شما رمز را به شکل یک تگ
<meta>
HTML در عنصر<head>
فایل پیشفرض (index.html، default.html و غیره) در سطح بالای سایت مالک وارد میکند. یک فایل HTML با رمز تأیید متا ممکن است به شکل زیر باشد:<html> <head> <title>Awesome Dive Sites</title> <meta name="google-site-verification" content="-dhsoFQadgDKJR7BsB6bc1j5yfqjUpg_b-1pFjr7o3x" /> </head> <body> ...
برای اطلاعات بیشتر به اسناد مرکز راهنمایی در مورد روش تأیید متا مراجعه کنید.
- تجزیه و تحلیل
برنامه شما از کد رهگیری Google Analytics موجود استفاده می کند که از قبل در وب سایت مالک موجود است. کد رهگیری باید به حساب Analytics آنها تعلق داشته باشد و قطعه باید در تگ HEAD قرار داشته باشد تا بتواند کار کند. برای اطلاعات بیشتر به مستندات مرکز راهنمایی در مورد روش تأیید تجزیه و تحلیل مراجعه کنید.
- مدیر تگ
برنامه شما از کد کانتینر Google Tag Manager موجود استفاده می کند که از قبل در وب سایت مالک موجود است. کد کانتینر باید به حساب Tag Manager آنها تعلق داشته باشد. برای اطلاعات بیشتر به مستندات مرکز راهنمایی در روش تأیید تگ مدیر مراجعه کنید.
اگر ابتدا سعی کنید چند سایت را به صورت دستی با رابط کاربری تأیید سایت تأیید کنید، می تواند برای درک شما از مفاهیم اصلی و گردش کار مفید باشد.
مدل داده
منبع وب
Google Site Verification API معنای REST (HTTP GET
، POST
، و غیره) را برای نهادهایی به نام منابع وب اعمال می کند. منبع وب یک وب سایت یا دامنه ای است که متعلق به کاربر تأیید شده است.
در اینجا مثالی از یک منبع وب آورده شده است:
{ "owners": [ "myself@example.com", "another@example.com" ], "id": "http%3A%2F%2Fwww.example.com%2F", "site": { "identifier": "http://www.example.com/", "type": "SITE" } }
فیلد id
یک شناسه منحصر به فرد برای این منبع وب است. شما از آن برای ارجاع به این منبع وب خاص برای بازیابی و اصلاح استفاده می کنید. فیلد id
را از خروجی عملیات لیست برای استفاده بعدی به عنوان شناسه ذخیره کنید.
شی site
حاوی URL یا نام دامنه منبع وب و نوع منبع است. سایت ها با نوع SITE
مشخص می شوند. دامنه ها با نوع INET_DOMAIN
مشخص می شوند.
آرایه owners
فهرست کامل مالکان منبع وب است که با آدرس ایمیل آنها نشان داده می شود. با افزودن یا حذف آدرسهای ایمیل از فهرست مالکان، کاربر احراز هویت شده میتواند مالکیت مشترک را به سایر کاربران اعطا کند یا مالکیت را لغو کند. مالکان دیگری که توکن های خود را در سایت یا دامنه قرار داده اند نیز به همراه هر یک از مالکان مشترکشان در لیست مالکان ظاهر می شوند.
کاربرانی که به آنها مالکیت مشترک اعطا شده است نیز می توانند مالکیت مشترک اعطا کنند، به شرطی که حداقل یک مالک تأیید شده با یک توکن در سایت وجود داشته باشد.
مجموعه منابع وب
مجموعه منابع وب فهرست کاملی از تمام منابع وب است که متعلق به کاربر تأیید شده است. شما می توانید مالکیت سایت ها یا دامنه ها را به سادگی با تلاش برای افزودن منابع وب جدید به مجموعه منابع وب کاربر تأیید شده تأیید کنید. فقط سایت ها یا دامنه های تایید شده با موفقیت به مجموعه آنها اضافه می شوند.
همانطور که قبلاً در بخش Limitations گفته شد، منابع وب که به کاربرانی غیر از کاربر تأیید شده تعلق دارند از طریق Site Verification API قابل دسترسی نیستند.