Как разместить в Google+ стену
Я хочу поделиться информацией в Google+ стене из моего приложения. Для этого я иду через Google+ API. В этом API они упоминают, как получить токен доступа конкретного пользователя, но не упоминают, как публиковать в стене пользователей с помощью токена доступа.
6 ответов
Ну, в Google+ нет "стены", есть "потоки". Правильный термин может помочь вам найти лучшие результаты поиска. В любом случае, если вы не являетесь партнером Google, новости не очень хорошие:
API в настоящее время ограничен доступом только для чтения. С сайта API:
Примечание. В настоящее время API Google+ предоставляет доступ к общедоступным данным только для чтения. Все вызовы API требуют либо токена OAuth 2.0, либо ключа API.
Поскольку он доступен только для чтения, вы не сможете обновлять или публиковать какую-либо информацию где-либо через API - вы можете использовать ее только для получения основной информации, такой как профиль и сведения об активности.
Учитывая, что доступ к API может со временем меняться, я постараюсь обновлять этот ответ, предоставляя информацию о новостях или изменениях, связанных с доступом для записи.
Новости & Обновления
2015-04-28
API Google+ Domains был анонсирован еще в августе 2013 года, но почему-то я упустил его актуальность для Google+.
API доменов Google+ позволяет клиентам и независимым разработчикам приложений Google Apps использовать расширенные API Google+ для создания инструментов и сервисов, которые можно использовать различными способами.
Нет, он не предоставляет полный доступ для записи в профиле Google+ пользователя, но дает незначительные преимущества перед Google+ API v1, по крайней мере, в пределах домена. Это в основном для разработчиков мобильных приложений.
2015-01-21
Я пересмотрел многие источники, связанные в этом ответе, и искал новости об изменениях API, но Google молчал.
2014-03-12
: Различные обсуждения в Google+ о доступе на запись (или об отсутствии такового):
- Тема обсуждения Джеффа Дуайера
- Тор Митчелл ( Thr Mitchell) подробно рассказал об этой теме (член команды Google+ упоминается в обновлении 6)
2013-12-03
: На ветку проблемы из ОБНОВЛЕНИЯ 1 наконец-то ответил участник проекта Google+. Дополнительные обсуждения, касающиеся доступа для записи в Streams, периодически происходят на странице сообщества Developing with Google+.
2013-07-05
Разработчик по имени Eric Leroy создал "неофициальную" библиотеку JavaScript, которая предоставляет расширение для чтения и записи в API Google+.
2013-05-14
: "Компания по управлению социальными сетями" может получить дополнительный доступ к API, пытаясь стать партнером API страниц Google+.
- Партнерская форма API для страниц Google+
- Другие сторонние инструменты для управления вашей страницей Google+ - объявление от Эдуардо Тулера
- Оригинальное объявление Google о сторонних инструментах управления
Вот выдержка из анкеты партнера:
API страниц Google+ позволяет компаниям, управляющим социальными сетями, добавлять функции управления страницами Google+ в свой инструмент. Доступ к этому API доступен через белый список, и доступ предоставляется партнерам компании по каждой компании в зависимости от соответствия этому API.
Другие статьи, объясняющие отсутствие API записи:
2013-01-04
: Google только что объявил историю Google+. Вы можете использовать его для написания "моментов" (которые по умолчанию являются частными), но затем их можно сделать общедоступными, поделившись ими напрямую с вашим потоком и / или вашим профилем. Один из типов моментов CommentActivity
,
2012-10-08
: Теперь есть повторяющееся сообщение об ошибке с несколькими комментариями, но вы также можете проверить наличие обновлений в будущем.
2012-06-25
: Я наткнулся на сообщение о проблеме для Google+ Write Access. По состоянию на 25 июня 2012 г. статус запроса улучшения - "Новый", приоритет - "Средний". В комментариях есть несколько интересных ссылок.
Это может помочь: я сделал этот букмарклет, чтобы публиковать ссылки на страницы, которые мне понравились в моей ленте:
javascript:location='https://plusone.google.com/_/+1/confirm?hl=en&url='+location
URL не требует пояснений. Если ваш контент может быть размещен через URL, вы можете опубликовать его таким образом. Единственная сложность состоит в том, чтобы автоматизировать отправку обратного вызова из Google, но мне это не нужно, не должно быть слишком сложно.
Если вы используете WordPress, есть плагин, который позволяет автоматически публиковать в Google Plus WP Plugin Публиковать в Google Plus, однако это не бесплатно, дешево, но не бесплатно. Вы можете, вероятно, отладить его, так как это php, и посмотреть, как они это делают.
Запись в Google+ Profile Streams ограничена только доменами.
Например, если у вас есть компания с именем xyz co и домен xyz.com. Вы можете использовать API Google+ Domains для записи в потоки. Хотя это будет ограничено для людей, использующих тот же домен и использующих Google G Suit App для бизнеса, и не доступно для обычного идентификатора электронной почты Google gmail.com.
API доменов Google+ позволяет создавать только сообщения с ограниченным доступом и добавлять комментарии только к сообщениям с ограниченным доступом.
Например, Джон и Миша работают в качестве сотрудника в xyz co и имеют соответствующие почтовые идентификаторы компании jon@xyz.com и misha@xyz.com, после чего они могут публиковать сообщения в связанных доменных потоках в Google+. Хотя эти сообщения не будут видны публично и могут быть видны только пользователям, принадлежащим к одному домену. Если какой-либо пост должен быть обнародован, то вы должны выполнить эту задачу вручную.
Если вы хотите опубликовать информацию в Google+ для какой-либо компании или знаменитости, то вы должны искать Google+ Page API, который позволяет вам писать сообщения на бизнес-странице. Хотя здесь они ограничены формой заявки партнеров, которую необходимо одобрить для получения доступа к API страниц, что очень строго и трудно получить одобрение.
API страниц Google+ позволяет компаниям, управляющим социальными сетями, добавлять функции управления страницами Google+ в свой инструмент. Доступ к этому API доступен через белый список, и доступ предоставляется партнерам компании по каждой компании в зависимости от соответствия этому API. Если вы являетесь компанией по управлению социальными сетями, заинтересованной в получении доступа к этому API, заполните приведенную ниже форму с подробной информацией о платформе вашей компании. Пожалуйста, ответьте на все вопросы ниже точно; Любая неточная информация, которая искажает ваш инструмент, может повлиять на доступ вашей компании к этому API. Если ваша компания подходит для функциональности этого API, команда Google+ свяжется с контактом, указанным в этой форме, с помощью следующих шагов. Пожалуйста, не отправляйте несколько записей в эту форму.
Другой способ публикации в Google+ - через кнопку "Поделиться", "Интерактивная публикация и встроенная публикация в Google+".
Теперь вы можете сделать это. Смотрите документы Google для разработчиков ниже:
https://developers.google.com/+/domains/posts/creating
Единственное, о чем нужно знать, это то, что API Доменов Google+ позволяет создавать только ограниченные публикации и добавлять комментарии только к ограниченным публикациям.
// Следуйте этому: https://developers.google.com/+/mobile/ios/share/
-(void)shareGoogle{
[signIn authenticate];
[signIn trySilentAuthentication];
}
-(void)refreshInterfaceBasedOnSignIn {
if ([[GPPSignIn sharedInstance] authentication]) {
// The user is signed in.
NSLog(@"%@", [[GPPSignIn sharedInstance] authentication]);
[self didTapShare:nil];
}
else {
self.signInButton.hidden = NO;
// Perform other actions here
}
}
- (IBAction) didTapShare: (id)sender {
[GPPShare sharedInstance].delegate = self;
id<GPPNativeShareBuilder> shareBuilder = [[GPPShare sharedInstance] nativeShareDialog];
// Set any prefilled text that you might want to suggest
[shareBuilder setPrefillText:@"message"];
[shareBuilder attachImage:[UIImage imageWithData:imageData]];
[shareBuilder open];
likeShareBtn.userInteractionEnabled = FALSE;
}
- (void)finishedSharingWithError:(NSError *)error {
NSString *text;
if (!error) {
text = @"Success";
} else if (error.code == kGPPErrorShareboxCanceled) {
text = @"Canceled";
} else {
text = [NSString stringWithFormat:@"Error (%@)", [error localizedDescription]];
}
NSLog(@"Status: %@", text);
}
-(void)presentSignInViewController:(UIViewController *)viewController {
// This is an example of how you can implement it if your app is navigation-based.
[[self navigationController] pushViewController:viewController animated:YES];
}