Pubblicazione per il Vallo di utente senza essere in linea / loggato - Facebook Sharing Utilizzando Graph API

StackOverflow https://stackoverflow.com/questions/4814432

Domanda

Ciao io sono nuovo alla condivisione facebook. Voglio fare un log utente nell'utilizzo sua uid e quindi memorizzare questi per ulteriori utilizzi

Lo scopo principale è quello di condividere link a muro per l'utente

la prossima volta in poi senza visualizzare la finestra facebook voglio inviare a alla sua bacheca tramite Ajax.

Come è possibile alcun aiuto per quanto riguarda questo sarà apprezzato!

Modifica

Ho usato l'esempio dato e funzione arricciatura poi trovato

ottenuto questo errore

HTTP/1.1 403 Forbidden
Cache-Control: no-store
Content-Type: text/javascript; charset=UTF-8
Expires: Sat, 01 Jan 2000 00:00:00 GMT
P3P: CP="Facebook does not have a P3P policy. Learn why here: http://fb.me/p3p"
Pragma: no-cache
WWW-Authenticate: OAuth "Facebook Platform" "insufficient_scope" "(#200) 
This API call requires a valid app_id."
Set-Cookie: datr=g4JBTb4OsRZxBAztV7iIkpWg; expires=Sat, 26-Jan-2013 14:34:43 GMT;
path=/; domain=.facebook.com; httponly
X-Cnection: close
Date: Thu, 27 Jan 2011 14:34:43 GMT
Content-Length: 93

{"error":{"type":"OAuthException","message":"(#200) 
This API call requires a valid app_id."}}

Modifica in modo che qualcuno possono trovare utili

COLLEGAMENTO FACEBOOK

$facebook_connect =  array(
   'appId'  => 'YOUR APP_ID',
   'secret' => 'YOUR SEC KEY',
          'access_token'=>"USER'S ACCESS TOKEN",
   'cookie' => true
 );

POSTO Bacheca dell'utente

$facebook->api("/PROFILE_ID/feed", "post", array(
"message"=>"Hi Friends Join ****",
"name"=>"You're invited to join ****!",
"link"=>"www.****.com",
"description"=>"Great site",
"picture"=>"http://www.****.com/logo.jpg",
"caption"=>"Join *****"
)
È stato utile?

Soluzione

Vi suggerisco di iniziare ad imparare come Facebook Graph API funziona prima.

  1. Facebook sarà NON condividere la password utente con voi!
  2. Se avete solo bisogno di dare all'utente la possibilità di link di condivisione, quindi basta utilizzare il come plug-in . È inoltre possibile trovare più interessante plugin sociali da utilizzare nel vostro sito web.
  3. Se si utilizza il come plug-in, che non si apre nessun popup e sarebbe postare il link direttamente alla parete dell'utente.
  4. Si può sempre utilizzare il feed Dialog
  5. Facebook Documentation

Ora per un commento sul muro dell'utente (per suo conto) senza lui di essere loggato, è necessario quanto segue:

  1. app access_token
  2. il permesso publish_stream, NON NECESSITA per l'accesso longevo token:

Consente la vostra applicazione ai contenuti inviati, i commenti, e gli piace un utente di streaming e ai flussi di amici dell'utente. Questo è un superset la pubblicazione di autorizzazione che comprende anche publish_actions. Tuttavia, Si prega di notare che Facebook raccomanda un modello di condivisione avviata dall'utente. Si prega di leggere le Linee guida della piattaforma per essere sicuri di capire come utilizzare correttamente questa autorizzazione. Nota, non è necessario richiedere il publish_stream consenso allo scopo di utilizzare la finestra di alimentazione, il Richieste di dialogo o di invio di dialogo.

Richiede l'autorizzazione:
Questo può essere fatto in molteplici modi:
Utilizzando il Accesso Plugin :

<div class="fb-login-button" data-show-faces="true" data-width="200" data-scope="publish_stream" data-max-rows="1"></div>

lato server login (Redirect alla finestra di dialogo OAuth):

https://www.facebook.com/dialog/oauth?
     client_id=YOUR_APP_ID
     &redirect_uri=YOUR_URL
     &scope=publish_stream
     &state=SOME_ARBITRARY_BUT_UNIQUE_STRING

PHP-SDK :

$loginUrl = $facebook->getLoginUrl(array("scope"=>"publish_stream"));

JS-SDK attraverso il metodo FB.login :

 FB.login(function(response) {
   if (response.authResponse) {
     console.log('Welcome!  Fetching your information.... ');
     FB.api('/me', function(response) {
       console.log('Good to see you, ' + response.name + '.');
       FB.logout(function(response) {
         console.log('Logged out.');
       });
     });
   } else {
     console.log('User cancelled login or did not fully authorize.');
   }
 }, {scope: 'publish_stream'});

Editoria:

$USER_ID = "XXXXXXXX"; // Connected once to your APP and not necessary logged-in at the moment
$args = array(
    'message'   => 'Hello from app',
    'link'      => 'http://www.masteringapi.com/',
    'caption'   => 'Visit MasteringAPI.com For Facebook API Tutorials!'
);
$post_id = $facebook->api("/$USER_ID/feed", "post", $args);

Nota:
Mentre è possibile per spedire senza presenza dell'utente ricorda sempre Facebook raccomanda un modello di condivisione avviata dall'utente

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top