redirect na fb like
a. Het opent een window om je eigen bijschrift bij de post op je wall te zetten.
b. Een redirect naar een URL
Deze acties worden tegelijk uitgevoerd. Ik zou graag willen dat de redirect wordt uitgevoerd na het drukken op post to facebook, dit is een knop waar ik volgens mij geen controle over heb.
Iemand een suggestie?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head></head>
<body>
<div id="fb-root"></div>
<fb:like href="http://www.facebook.com/????????????" send="false" width="450" show_faces="false" font=""></fb:like>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({appId: '???????????????', status: true, cookie: true, xfbml: true});
FB.Canvas.setSize({ width: 520, height: 1500 });
FB.Event.subscribe('edge.create',
function(response) {
// put redirect code here eg
window.location = "http://www.facebook.com/?????????????";
}
);
};
//Load the SDK asynchronously
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
</body>
</html>
<head></head>
<body>
<div id="fb-root"></div>
<fb:like href="http://www.facebook.com/????????????" send="false" width="450" show_faces="false" font=""></fb:like>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({appId: '???????????????', status: true, cookie: true, xfbml: true});
FB.Canvas.setSize({ width: 520, height: 1500 });
FB.Event.subscribe('edge.create',
function(response) {
// put redirect code here eg
window.location = "http://www.facebook.com/?????????????";
}
);
};
//Load the SDK asynchronously
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
</body>
</html>
Gewijzigd op 12/12/2012 08:24:16 door Kees Schepers
Verder ben je wel goed op weg, althans het edge.create event wordt getriggerd nadat iemand je pagina heeft geliked. Je zou dan inderdaad een div (of popup zoals bootstrap modal of fancybox oid) kunnen openen waarmee de persoon in kwestie ook iets op zijn eigen tijdlijn (wat jij wall noemt) kan vermelden.
Ik geloof dat het posten op tijdlijn een ander event is (even zoeken ... ) en volgens mij is dat comment.create of message.send (zou je even moeten testen) en krijg je dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head></head>
<body>
<div id="fb-root"></div>
<fb:like href="http://www.facebook.com/????????????" send="false" width="450" show_faces="false" font=""></fb:like>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({appId: '???????????????', status: true, cookie: true, xfbml: true});
FB.Canvas.setSize({ width: 520, height: 1500 });
FB.Event.subscribe('edge.create', function(response) {
//open facebook send popup
}
);
FB.Event.subscribe('message.send', function() {
//alert('Dude! Bedankt voor het posten op je tijdlijn ik ga je nu wegsturen!');
window.location = 'http://www.google.nl';
});
};
//Load the SDK asynchronously
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
</body>
</html>
<head></head>
<body>
<div id="fb-root"></div>
<fb:like href="http://www.facebook.com/????????????" send="false" width="450" show_faces="false" font=""></fb:like>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({appId: '???????????????', status: true, cookie: true, xfbml: true});
FB.Canvas.setSize({ width: 520, height: 1500 });
FB.Event.subscribe('edge.create', function(response) {
//open facebook send popup
}
);
FB.Event.subscribe('message.send', function() {
//alert('Dude! Bedankt voor het posten op je tijdlijn ik ga je nu wegsturen!');
window.location = 'http://www.google.nl';
});
};
//Load the SDK asynchronously
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
</body>
</html>
Zo te zien weet je ook niet wat een app ID is. Deze moet je zelf aanmaken. Je gaat naar https://developers.facebook.com/ en maakt daar een account aan. Als je eenmaal een account aangemaakt heb maak je een "app" aan in het menu en dan krijg je vanzelf een appid die je op de ?????????? kunt zetten :)
Succes!
Toevoeging op 12/12/2012 08:36:31:
Voor het posten naar de 'wall' heb je dit nodig overigens:
https://developers.facebook.com/docs/reference/dialogs/feed/
Het is nog best wel eenvoudig, vooral de URL variant. Gebruik je jQuery? Dan kan ik wel een voorbeeldje maken voor je.
Gewijzigd op 12/12/2012 08:32:23 door kees Schepers
De plekken van de ???? zijn mij bekent. Heb deze bewust veranderd.
De code op zich werkt goed, en er wordt gepost op de tijdlijn. Alleen de redirect naar in jou script google werkt niet. Zie ovllemmer.nl/test2/test2.html
Het probleem in mijn script is dat hij wel werkt maar gelijk nadat je hebt geliked waardoor je geen kans krijgt om de tekst voor je tijdlijn in te vullen.
Zie ovllemmer.nl/test2/test.html
Gewijzigd op 12/12/2012 12:00:21 door Jordi Kroon