2010-08-25 6 views
12

Desidero pubblicare automaticamente Notes su Facebook e far sì che vengano indirizzate a un singolo membro di un gruppo. Per target intendo solo un utente specifico di Facebook dovrebbe essere in grado di leggere la nota.Specificare la privacy durante il POST a Facebook Graph API

C'è un modo per farlo con l'API grafico? Vedo nella vecchia API REST c'è un parametro "privacy" sul metodo steam.publish (vedere http://developers.facebook.com/docs/reference/rest/stream.publish). C'è un equivalente nel grafico API?

+0

ho anche intenzione di conoscere la risposta. Hai fatto questa domanda il 25 agosto. – Waseem

+0

Ho visto nel link http://developers.facebook.com/docs/reference/api/post/ che non possiamo modificare le impostazioni sulla privacy dell'utente ... :( – HarshIT

risposta

0

sì, c'è:

http://developers.facebook.com/docs/reference/api/post

C'è un campo chiamato la privacy, che è possibile modificare.

Speranza che aiuta, -Roozbeh

+0

Impossibile capire come modificare il privacy ???? la spiegazione in questa pagina dice che "qualsiasi impostazione di privacy non predefinita deve essere scelta intenzionalmente dall'utente.Non è possibile impostare un'impostazione di privacy personalizzata a meno che l'utente non abbia specificato in modo proattivo che desidera questa impostazione non predefinita." – HarshIT

0

http://developers.facebook.com/docs/reference/api/post

non dice come specificare la privacy in modo corretto

per vario CUSTOM opzione, AMICI, NETWORK_FRIENDS

+0

hai ragione, si dice sul tipo di oggetto restituito e tutto e menziona anche sotto di esso che non possiamo modificare la privacy policy dell'utente. – HarshIT

0

Se sei pubblicando le note da un'app, è possibile impostare la privacy delle attività predefinite come mostrato qui:

enter image description here

Potrebbe essere impostato quando si autentica la propria applicazione, oppure in: account settings - > applications.

5

Ecco la risposta.

Basta includere "privacy" nel pacchetto in formato JSONObject, incluso il valore "SELF", "ALL_FRIENDS" O "TUTTI".

Questo sta usando Android SDK 2.0 e 3.0 è ora disponibile, ma il modo di usare l'api grafico è lo stesso, lascia un commento se si raggiunge qualsiasi problema :).

public String PostWall(String Message,int Level){ 
    /*********************************************************** 
     * level 0 ==>only me 
     * level 1==>friend only 
     * level 2==>public 
     * level >2 ==>error 
    ***********************************************************/ 
    Bundle params = new Bundle(); 
    params.putString("message", Message); 
    JSONObject privacy = new JSONObject(); 
    try { 
     switch (Level){ 
      case 0: 
       privacy.put("value", "SELF"); 
       break; 
      case 1: 
       privacy.put("value", "ALL_FRIENDS"); 
       break; 
      case 2: 
       privacy.put("value", "EVERYONE"); 
       break; 
     } 
    } catch (JSONException e1) { 
    } 
    params.putString("privacy", privacy.toString()); 
    //Step 2 Request 
    String resp= ""; 
    try { 
     resp = fb.request("me/feed", params, "POST"); 
    } catch (FileNotFoundException e) { 
    } catch (MalformedURLException e) { 
    } catch (IOException e) { 
    } 
    try{ 
     resp = new JSONObject(resp).getString("id"); 
     if(enableLog){ 
      Log.d(LOGTAG,"*****POSTWALL END*****"); 
      Log.d(LOGTAG,"RETURN "+resp); 
     } 
     return resp; 
    }catch(JSONException e1){ 
    } 
} 
}; 
1

per PHP uso facebook api:

$privacy = array(
     'value' => 'SELF' //private 
    ); 

$publish = $facebook->post('/me/videos', 
     array('access_token' => $page_token, 
     'title'=> $title, 
     'privacy'=> $privacy, 
     'source' => $facebook->videoToUpload($fn), 
     'description' => $desc 
     )); 

oggetto che contiene il campo value e facoltativo friends, networks, allow e deny campi.

Il campo value può specificare una delle seguenti stringhe: EVERYONE, ALL_FRIENDS, NETWORKS_FRIENDS, FRIENDS_OF_FRIENDS, CUSTOM.

Il campo friends deve essere specificato se value è impostato su CUSTOM e contengono una delle seguenti stringhe: EVERYONE, NETWORKS_FRIENDS (quando l'oggetto può essere visto da reti e amici), FRIENDS_OF_FRIENDS, ALL_FRIENDS, SOME_FRIENDS, SELF, o NO_FRIENDS (quando l'oggetto può essere visto da un solo rete).

Il campo networks può contenere un elenco separato da virgole di ID di rete che possono vedere l'oggetto, o 1 per tutti rete dell'utente.

Il campo allow deve essere specificato quando il valore friends è impostato su SOME_FRIENDS e deve specificare un elenco separato da virgole di ID utente e ID amico lista che e 'possibile' vedere il post.

Il campo deny può essere specificato se il campo friends è impostato su SOME_FRIENDS e deve specificare un elenco separato da virgole di ID utente e ID amico lista che 'non può' vedere il post.


Cerca privacy sul link seguente per vedere tutte le opzioni:

https://developers.facebook.com/docs/graph-api/reference/v2.6/post