2011-01-27 18 views
7

Ciao, sono nuovo nella condivisione di facebook. Voglio fare un log utente nell'utilizzo sua uid e quindi memorizzare questi per ulteriori utilizziPubblicazione sul muro dell'utente senza essere online/connesso - Condivisione Facebook tramite l'API grafico

Lo scopo primario è quello di condividere link a muro dell'utente

prossima volta in poi senza visualizzare la finestra facebook voglio postare in al suo muro attraverso l'ajax.

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

EDIT

ho usato l'esempio dato e poi ha cercato la funzione ricciolo

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."}} 

EDIT 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 *****" 
) 

risposta

33

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

  1. Facebook sarà MAI condividere la password dell'utente con voi!
  2. Se hai solo bisogno di dare all'utente la possibilità di condividere il link, usa semplicemente lo like plugin. Puoi anche trovare più interessante social plugins da utilizzare nel tuo sito web.
  3. Se si utilizza il plugin simile, non aprirà alcun popup e invierà il collegamento direttamente al muro dell'utente.
  4. Si può sempre utilizzare il Feed Dialog
  5. iniziare a leggere il Facebook Documentation

Ora per un commento sul muro dell'utente (per suo conto) senza lui di essere loggati, è necessario il seguente:

  1. app access_token
  2. publish_stream permesso, NESSUN BISOGNO per il token di accesso longeva:

Attiva la tua app per inviare contenuti, commenti, e ama flusso di un utente e ai flussi di amici dell'utente. Questa è un'autorizzazione di pubblicazione superset che include anche publish_actions. Tuttavia, si prega di notare che Facebook raccomanda un modello di condivisione avviato dall'utente. Leggere i Criteri della piattaforma per assicurarsi di sapere come utilizzare correttamente questa autorizzazione con . Nota, non è necessario richiedere l'autorizzazione publish_stream per utilizzare la finestra di dialogo Feed, la finestra di dialogo Richieste o la finestra di dialogo Invia.

Richiede l'autorizzazione:
Questo può essere fatto in molteplici modi:
Utilizzo del Login Plugin:

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

Server-side 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'}); 

Publishing:

$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 sempre ricordare Facebook consiglia un utente-initia ted sharing model

+0

scusa ho digitato in quel modo quello che voglio è l'accesso offline a un acount di un utente in modo che posso postare sul suo account evan se non è loggato! ha modificato la domanda – Harish

+0

@Harish: quale linguaggio lato server sei usando? PHP? – ifaour

+0

php sì offcourse! – Harish