Ответ 1
Это очень общий/широкий вопрос, и как таковой будет собирать очень общие/широкие ответы. Трудно сделать какие-либо рекомендации, не зная, какие технологии на стороне сервера вы используете, как вы в настоящее время защищены, сколько работы сделано по сравнению с тем, сколько нужно сделать (важно, сколько усилий потребуется для принятия одного подхода другой) и т.д.
Я лично не знаком с GData или API YouTube, поэтому их методы мне неизвестны. Однако я могу сделать следующие личные рекомендации:
1) Я бы посоветовал вам избегать прямого просмотра HTML вашей страницы и вместо этого рекомендовать API-интерфейс на стороне сервера для дополнения вашего API-интерфейса на стороне клиента. В частности, я бы рассмотрел подход RESTful как, где вы обрабатываете свои сущности/данные как ресурсы, для которых вы хотите действовать.
Этот подход имеет преимущество независимо от фактического представления/HTML-представления вашей страницы и, следовательно, более устойчив к изменениям. Если вы пишете API напрямую против своего HTML, каждый раз, когда вы меняете свою страницу (даже если контент/данные остаются прежними), вы рискуете нарушить API.
Еще одно преимущество наличия серверного компонента - вы сможете воспользоваться JSONP, который может облегчить некоторые из боли, связанные с выполнением междоменных запросов. Однако один из недостатков JSONP заключается в том, что вы не можете делать запросы POST, а только запросы GET, которые не полностью соответствуют требованиям RESTful (но я все же считаю, что архитектура RESTful предлагает множество преимуществ).
2) Передача данных - легкая рекомендация - руки вниз Я бы выбрал JSON. Существуют некоторые сценарии, в которых XML может быть более информативным форматом данных над JSON, но по большому счету, я думаю, вы найдете JSON, который удовлетворит ваши потребности довольно хорошо.
3) Аутентификация на стороне клиента может быть сложной для междоменных запросов. Один из вариантов здесь - использовать iframe для аутентификации. Другой вариант - использовать HMAC или OAuth.
4) Что касается собственно написания JavaScript API, я бы порекомендовал прочитать некоторые из потоков здесь, в разделе SOA относительно книг JavaScript. Вероятно, это будет обсуждение вопросов об именах и других темах, полезных для организации API.
Как я уже сказал, это очень общие рекомендации. Может быть, ваш прецедент отлично справится с быстрым и грязным выскабливанием HTML (хотя вам, вероятно, придется использовать IFrames, чтобы обойти ограничения между доменами). То, что я упомянул выше, взятое в целом, не является тривиальной задачей, особенно если ни один из этих элементов не находится прямо сейчас.