2010-08-01 7 views
1

Je suis devenu fou et ne peux pas comprendre comment faire un script pour mon application qui permettrait à l'utilisateur de sélectionner un ami et de leur envoyer une notification ou un message sur leur mur de mon application.Envoyer une notification ou poster sur le mur

J'ai juste besoin d'informer leur ami qu'ils ont été mis au défi de jouer un jeux flash, juste un simple texte avec un lien, je ne besoin de rien de fantaisie: D

Voici ce que je l'ai essayé et le travail ne marche pas :(aucune idée pourquoi

$message = 'Watch this video!'; 
$attachment = array('name' => 'ninja cat', 'href' => 'http://www.youtube.com/watch?v=muLIPWjks_M', 'caption' => '{*actor*} uploaded a video to www.youtube.com', 'description' => 'a sneaky cat', 'properties' => array('category' => array('text' => 'pets', 'href' => 'http://www.youtube.com/browse?s=mp&t=t&c=15'), 'ratings' => '5 stars'), 'media' => array(array('type' => 'flash', 'swfsrc' => 'http://www.youtube.com/v/fzzjgBAaWZw&hl=en&fs=1', 'imgsrc' => 'http://img.youtube.com/vi/muLIPWjks_M/default.jpg?h=100&w=200&sigh=__wsYqEz4uZUOvBIb8g-wljxpfc3Q=', 'width' => '100', 'height' => '80', 'expanded_width' => '160', 'expanded_height' => '120'))); 
$action_links = array(array('text' => 'Upload a video', 'href' => 'http://www.youtube.com/my_videos_upload')); 
$target_id = $user; 
$facebook->api_client->stream_publish($message, $attachment, $action_links, $target_id); 

MISE À JOUR:. appinclude.php

$facebook->redirect('https://graph.facebook.com/oauth/authorize?client_id=132611566776827&redirect_uri=https://apps.facebook.com/gamesorbiter/&scope=publish_stream'); 

Err ou je reçois:

{ 
    "error": { 
     "type": "OAuthException", 
     "message": "Invalid redirect_uri: The Facebook Connect cross-domain receiver URL (https://apps.facebook.com/gamesorbiter/) must be in the same domain or be in a subdomain of an application's base domain (gamesorbiter.com). You can configure the base domain in the application's settings." 
    } 
} 

Sans le "s" supplémentaire (http) je reçois cette erreur:

Firefox has detected that the server is redirecting the request for this address in a way that will never complete. 

S'il vous plaît si vous pouvez publier un exemple. De plus, ai-je besoin d'une autorisation étendue pour le faire ou si l'utilisateur envoie le message dont je n'ai pas besoin?

Merci

Répondre

0

Also do i need extended permission to do that or if the user sends the message i dont that ?

Oui, vous avez besoin de la permission offline_access and publish_stream étendue des utilisateurs.

Mise à jour:

Dans votre appinclude.php fichier, mettre le code comme ceci:

$facebook = new Facebook($appapikey, $appsecret); 
$user = $facebook->require_login(); 

$facebook->redirect('https://graph.facebook.com/oauth/authorize? 
client_id=[YOUR APP ID]& 
redirect_uri=[YOUR APP URL]& 
scope=publish_stream, offline_access'); 

Remplacer [YOUR APP ID] avec identifiant d'application que vous pouvez voir à partir des paramètres d'application où vous avez créé le site dans la section Facebook Developers. Remplacez également le [YOUR APP URL] par l'URL de votre application.

+0

J'ai ce code dans mon applicationinclude.php [code] $ facebook = new Facebook ($ appapikey, $ appsecret); $ utilisateur = $ facebook-> require_login ($ required_permissions = 'publish_stream'); [/ code] Mais lorsque je supprime l'application de mon profil pour y accéder à nouveau, j'obtiens la même vieille boîte de dialogue d'autorisation de base. Pourquoi l'application ne demande-t-elle pas l'autorisation publish_stream? – Krasi

+0

@Krasi: Voir ceci pour obtenir toutes les autorisations que vous voulez: http://developers.facebook.com/docs/authentication/ – Sarfraz

+0

Oh, j'ai demandé une autorisation prolongée pour mon application et j'espère que Facebook approuvera mon application. Il n'y a aucun moyen pour moi de laisser l'utilisateur envoyer un message à un autre utilisateur via mon application et essentiellement contourner le problème de permission? – Krasi

Questions connexes