2010-11-29 4 views
25

Y at-il un moyen de changer l'image de profil de l'utilisateur en utilisant le graphique api?comment définir une image de profil facebook en utilisant le graphique api

Je sais que vous ne pouvez pas avec le reste api (reference), mais je ne pouvais rien trouver dans le nouveau graphique API.

+0

duplication possible de [Puis-je définir une image de profil utilisateur à l'aide de l'API Facebook?] (Http://stackoverflow.com/questions/1648859/can-i-set-a-users-profile-image-using-the -facebook-api) – alpere

Répondre

42

Téléchargez l'image vers un album existant (ou créez-en un nouveau) à l'aide de l'API graphique. ressemble à quelque chose comme ceci:

$args = array('message' => 'Caption'); 
    $args['image'] = '@' . realpath("the_image.png"); 

    try { 
    $data = $facebook->api('/'.$album_uid.'/photos', 'post', $args); 
    } 
    catch(Exception $e) { 
    print "<pre>"; 
    print_r($e); 
    print "</pre>"; 
    } 

ensuite obtenir l'image téléchargée via l'API graphique et redirigent vers le lien de l'image, ajouter &makeprofile=1 à la chaîne de requête. L'utilisateur va maintenant être redirigé vers la page de recadrage d'image de profil:

try { 
    $pictue = $facebook->api('/'.$data['id']); 
    header("Location: ".$pictue['link']."&makeprofile=1"); 
} 
catch(Exception $e) { 
    print "<pre>"; 
    print_r($e); 
    print "</pre>"; 
} 
+1

Merci. Facebook ne se soucie pas de nous faire ça? Aucune violation de la politique? – Mattias

+0

Non, pas que je sache. Je l'ai utilisé dans une application en direct, et là où aucun problème là-bas. – fredrik

+5

@Mattias Je ne m'attends pas à ce que ce soit une violation de la politique, parce que vous ne définissez pas l'image de profil vous-même. Il ne fait apparaître une boîte de dialogue dans laquelle l'utilisateur est autorisé à le faire et il peut choisir de ne pas le faire. – aalaap

5

Vous pouvez télécharger vers l'album de photos de profil de l'utilisateur à l'aide de l'API graphique, mais il semble que vous ne pouvez pas mettre à jour la valeur/me/image pour définir l'image de profil actuelle des utilisateurs sur l'image téléchargée.

+0

déception. mon application a vraiment besoin de cette fonctionnalité ... –

6

PicBadges application effectue ce travail clairement. Jetez un oeil à leur application. C'est assez clair comment ils ont mis en œuvre.

Ils ne téléchargent pas directement d'images dans l'album "Profile Pictures". Au lieu de cela, ils téléchargent comme d'habitude sur leur album généré automatiquement (sur le nom de leur application), puis sélectionnent l'image comme "photo de profil". Toutefois, cette méthode implique la redirection des utilisateurs vers la page où ils doivent recadrer avant de le faire.

Mise en œuvre intéressante à noter!

Questions connexes