Jak publikować na tablicy Google+


92

Chcę udostępnić trochę informacji na tablicy Google+ z mojej aplikacji. W tym celu przechodzę przez interfejs Google+ API . W tym API wspominają o tym, jak uzyskać token dostępu określonego użytkownika, ale nie wspominają o tym, jak publikować na ścianie użytkowników za pomocą tokena dostępu.

Odpowiedzi:


152

Cóż, Google+ nie ma „ściany”, ma „strumienie”. Właściwy termin może pomóc w znalezieniu lepszych wyników wyszukiwania. Tak czy inaczej, jeśli nie jesteś partnerem Google, wiadomości nie są dobre:

API jest obecnie ograniczone do dostępu tylko do odczytu. Ze strony API :

Uwaga: interfejs API Google+ obecnie zapewnia dostęp tylko do odczytu do danych publicznych. Wszystkie wywołania API wymagają tokena OAuth 2.0 lub klucza API .

Ponieważ jest tylko do odczytu, nie będziesz w stanie aktualizować ani publikować żadnych informacji w dowolnym miejscu za pośrednictwem interfejsu API - możesz go używać tylko do pobierania podstawowych informacji, takich jak szczegóły profilu i aktywności.

Biorąc pod uwagę, że dostęp do API może się zmieniać w czasie, postaram się, aby ta odpowiedź była aktualna, podając informacje o nowościach lub zmianach związanych z dostępem do zapisu .


Nowe aktualizacje

2015-04-28: Interfejs Google+ Domains API został ogłoszony w sierpniu 2013 roku, ale jakoś przeoczyłem jego znaczenie dla Google+.

Interfejs API Google+ Domains umożliwia klientom i niezależnym dostawcom oprogramowania Google Apps korzystanie z ulepszonych interfejsów API Google+ w celu tworzenia narzędzi i usług, z których można korzystać na wiele sposobów.

Nie, nie zapewnia pełnego dostępu do zapisu w profilu Google+ użytkownika, ale daje niewielkie korzyści w porównaniu z interfejsem Google+ API v1, przynajmniej w obrębie domeny. Ten jest przeznaczony głównie dla programistów aplikacji mobilnych.

2015-01-21: Ponownie odwiedziłem wiele źródeł powiązanych w tej odpowiedzi i szukałem wiadomości dotyczących zmian w API, ale Google milczy.

2014-03-12: Różne wątki dyskusyjne w Google+ na temat dostępu do zapisu (lub jego braku):

2013-12-03: Wątek problemu z UPDATE 1 został wreszcie rozwiązany przez członka projektu Google+ . Na stronie społeczności Developing with Google+ sporadycznie toczą się dodatkowe dyskusje dotyczące możliwości zapisu w strumieniach .

2013-07-05: Programista o nazwisku Eric Leroy stworzył „nieoficjalną” bibliotekę JavaScript, która zapewnia rozszerzenie do odczytu / zapisu interfejsu API Google+.

2013-05-14: „Firma zarządzająca mediami społecznościowymi” może uzyskać dodatkowy dostęp do interfejsu API, próbując zostać partnerem interfejsu API stron Google+.

Oto fragment formularza zgłoszeniowego partnera:

Interfejs API stron Google+ umożliwia firmom zarządzającym mediami społecznościowymi dodawanie funkcji zarządzania stronami Google+ do swoich narzędzi. Dostęp do tego interfejsu API jest możliwy za pośrednictwem białej listy, a dostęp jest przyznawany partnerom w firmie według firmy w zależności od zgodności z tym interfejsem API.

Inne artykuły wyjaśniające brak zapisu API:

2013-01-04: Google właśnie ogłosił historię Google+ . Możesz go używać do pisania „momentów” (które domyślnie są prywatne), ale możesz je następnie upublicznić, udostępniając je bezpośrednio w swoim strumieniu i / lub swoim profilu. Jednym z typów momentów jest CommentActivity.

2012-10-08: Jest teraz zduplikowany post o błędzie z kilkoma komentarzami, ale możesz tam również sprawdzić przyszłe aktualizacje.

2012-06-25: Natknąłem się na wpis dotyczący śledzenia problemów dotyczący dostępu do zapisu w Google+. Stan żądania poprawy jest „Nowy”, a priorytetem jest „medium”, jak od 25 czerwca TH 2012. Istnieją pewne interesujące linki w komentarzach.


Cześć Cory, dziękuję za szybką odpowiedź, czy jest jakiś alternatywny sposób, aby to zrobić (post w strumieniach użytkownika)
Karthi Ponnusamy

1
@joe: Nie żebym wiedział, przynajmniej nie programistycznie.
Cᴏʀʏ

1
@mihai: Poprawiłem, ponieważ „ściana” to ogólnie termin na Facebooku, podobnie jak „polubienia”; Twitter zawiera „tweety”; Google ma „Strumienie” i „plus jedynki”. Terminologia jest ważnym elementem projektowania i rozwoju oprogramowania; dwuznaczność nie jest terminem przyjaznym w naszym świecie. Jeśli chodzi o różnicę, jest ich wiele .
Cᴏʀʏ

4
@mihai: Nie dokonywałem porównania między tymi dwoma - poprawiając termin na „strumienie” w mojej odpowiedzi, zilustrowałem, że te usługi można rozpoznać po terminach, których ludzie używają, gdy o nich mówią. Na przykład, gdy OP powiedział „Google+ Wall”, zadając pytanie o Google+ API, nie chciałbym, aby ktoś (w tym OP) przeszukiwał dokumentację API, szukając terminu „ściana”, ponieważ nie będzie znaleźć cokolwiek. Właściwy termin do wyszukania w odniesieniu do Google+ to „Strumień”.
Cᴏʀʏ

1
Hootsuite może wysyłać wiadomości w Google + w imieniu użytkownika! Zobacz
zrzut

13

To może pomóc: stworzyłem ten bookmarklet, aby umieszczać linki do stron, które lubiłem w moim strumieniu:

javascript:location='https://plusone.google.com/_/+1/confirm?hl=en&url='+location

Adres URL jest oczywisty. Jeśli treść posta może być obsługiwana za pośrednictwem adresu URL, możesz ją opublikować w ten sposób. Jedyną trudnością jest zautomatyzowanie wysyłania oddzwonienia z Google, ale nie potrzebuję tego, nie powinno być zbyt trudne.


1
Świetny link do informacji o ... Czy wiesz, jak przekonwertować to, aby działało na stronie marki?
Mike S.

Nie mogłem zmusić go do pracy. Ale to z pewnością tak: quora.com/Eric-Leroy/1off/Google+-XHR-Hack-w+-Add-Post
Eric Leroy

Post @EricLeroy został usunięty, wiem, że
minęły

3

Jeśli używasz wordpressa, dostępna jest wtyczka, która umożliwia automatyczne wysyłanie postów do Google plus WP Plugin Post do Google Plus, jednak nie jest to darmowe, tanie, ale nie darmowe. Prawdopodobnie możesz go debugować, ponieważ jest to php i zobaczyć, jak to robią.


1
To interesujący udział. Dzięki. Coś, na co musimy dokładniej przyjrzeć się, jeśli chodzi o sposób, w jaki to robią. Zgaduję metodami skrobania / automatyzacji.
ylluminate

Tak, byłoby ciekawie wiedzieć, ale na koniec dnia, jeśli to zadziała, kogo to obchodzi, o ile możesz dołączyć ich kod php, wszystko powinno być w porządku.
Tim

Cóż, ma to znaczenie, gdy tworzysz w innym języku / na innej platformie.
ylluminate

Nie bardzo możesz przenieść php w prawie każdym języku.
Tim

problem prawdopodobnie będzie polegał na tym, że kod ten jest w jakiś sposób zaciemniany, aby zdewaluować propozycję zakupu go po prostu po to, aby dowiedzieć się, jak to osiągnąć. Czy możesz powiedzieć inaczej, jeśli chodzi o to, czy go kupiłeś i czy jesteś w stanie zrozumieć, w jaki sposób to osiągnęli?
ylluminate


3

Pisanie w strumieniach profili Google+ jest ograniczone tylko do domen.

Na przykład jeśli jesteś właścicielem firmy o nazwie xyz co i masz domenę xyz.com. Do pisania w strumieniach możesz używać interfejsu Google+ Domains API . Chociaż będzie to ograniczone do osób używających tej samej domeny i używających aplikacji Google G Suit w celach biznesowych i nie jest dostępne dla zwykłego identyfikatora e-mail Google gmail.com.

Interfejs API Google+ Domains umożliwia tylko tworzenie zastrzeżonych postów i pozwala tylko na dodawanie komentarzy do zastrzeżonych postów.

Na przykład Jon i Misha pracują jako pracownik w xyz co i mają powiązane firmowe identyfikatory jon@xyz.com i misha@xyz.com, a następnie mogą publikować w powiązanych strumieniach domeny w Google+. Chociaż te posty nie będą widoczne publicznie i mogą być widoczne tylko dla członków należących do tej samej domeny. Jeśli jakikolwiek wpis ma zostać upubliczniony, musisz to zrobić ręcznie . Ref .

Jeśli chcesz zamieścić informacje w Google+ dla jakiejś firmy lub celebryty, musisz poszukać Google+ Page API , które umożliwia pisanie postów na stronie biznesowej. Chociaż ograniczyli się tutaj do formularza zgłoszeniowego partnerów, który musi zostać zatwierdzony, aby uzyskać dostęp do interfejsu Pages API, który jest bardzo rygorystyczny i trudny do zatwierdzenia.

Interfejs API stron Google+ umożliwia firmom zarządzającym mediami społecznościowymi dodawanie funkcji zarządzania stronami Google+ do swoich narzędzi. Dostęp do tego interfejsu API jest możliwy za pośrednictwem białej listy, a dostęp jest przyznawany partnerom w firmie według firmy w zależności od zgodności z tym interfejsem API. Jeśli jesteś firmą zarządzającą mediami społecznościowymi i chcesz uzyskać dostęp do tego API, wypełnij poniższy formularz, podając szczegóły dotyczące platformy Twojej firmy. Odpowiedz dokładnie na wszystkie poniższe pytania; wszelkie niedokładne informacje, które błędnie przedstawiają Twoje narzędzie, mogą wpłynąć na dostęp Twojej firmy do tego interfejsu API. Jeśli Twoja firma spełnia wymagania tego interfejsu API, zespół Google+ skontaktuje się z osobą kontaktową podaną w tym formularzu w celu podjęcia dalszych kroków. Prosimy nie przesyłać wielu wpisów do tego formularza.

Inną metodą publikowania w Google+ jest użycie przycisku Udostępnij, interaktywnego publikowania i umieszczania postów w Google+ Ref .


0

// Postępuj zgodnie z: 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];
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.