Как разместить в 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+ о доступе на запись (или об отсутствии такового):

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+ в свой инструмент. Доступ к этому 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];
}
Другие вопросы по тегам