一个开源的Facebook应用程序。为有效的原因:)

时间:2010-08-16 15:27:47

标签: php facebook

我有几页反对虐待儿童,现在我正在开发一个Facebook抗击虐待儿童的应用程序。

我有点像新手,我在网上找到了很多很棒的资源,但是,我似乎找不到我真正想要的东西。

我知道要构建一个访问用户基本信息的基本应用程序(使用fb_sig_user)。但是,我需要代码将静态内容发布到我的用户的墙上,请求相同的权限(如果它每次与我的页面交互时发布都会很好。)

如果应用程序也可以发布给用户的朋友也很好..但不是必须的。

有人能帮助我吗?我有这些文件(它是一个FBML应用程序,顺便说一句),我被卡住了:

tab.php

<?php
 if (isset($_REQUEST['name'])){
$uidc2 = $_REQUEST['fb_sig_user'];
echo $uidc2;

?>

<div id="update"></div>
<form action="" id="frm_test" method="post" onsubmit="return false;">
 <input type="hidden" name="name" size="50" />
 <input name="name" type="button" clickrewriteurl='http://somewebsite.com/fb/tab.php' clickrewriteform='frm_test' clickrewriteid='update' value="submit"/>
</form>

的index.php

<?php

require 'facebook.php';

$app_id = 'xyzzy';
$application_secret = 'abc';

$facebook = new Facebook(array(
  'appId'  => $app_id,
  'secret' => $application_secret,
  'cookie' => true, // enable optional cookie support
));

if ($facebook->getSession()) {
  echo '<a href="' . $facebook->getLogoutUrl() . '">Logout</a>';
  $user = $facebook->getUser();
} else {
  echo '<a href="' . $facebook->getLoginUrl() . '">Login</a>';
}

?>

任何帮助都非常感谢这一点。谢谢。

2 个答案:

答案 0 :(得分:4)

您可以使用stream.publish方法向您的应用用户发布流。如果您想要发布到用户的墙上,即使他们没有登录,您也需要先询问他们publish_stream扩展权限。

<强>更新

获得权限

要获得权限,请查看:

可替换地,

在主配置或头文件中,输入如下代码:

$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');

[YOUR APP ID]替换为您可以在Facebook开发者部分中创建网站的应用程序设置中看到的应用程序ID。同时将[YOUR APP URL]替换为您的应用网址。

发布Steam

还有另一个名为FB.ui的javascript sdk方法。使用该代码,您可以提示用户进行流发布或共享您的页面。在我的演示源代码中签出streamPublish()和share()方法defination。

有关详细信息,请查看本教程:

或者您可以使用此功能发布蒸汽:

function publish() {

    var attachment = {
        'name': 'App Name',
        'href': 'http://apps.facebook.com/someapp/', 'caption': '{*actor*} perfomed an action!!',
        'description': 'The description goes here',
        "media": [{ "type": "image", "src": "http://www.example.net/images/logo.png", "href": "http://apps.facebook.com/someapp/"}]
    };

    var action_links = [{ 'text': 'World Winner 2010', 'href': 'http://apps.facebook.com/world_winner/'}];

    Facebook.streamPublish('', attachment, action_links);
}

根据您的要求更改上述功能中的设置,并在需要发布流时调用它:

publish();

更多资源:

你可以在这个网站上找到与Facebook相关的好教程:

答案 1 :(得分:0)

您可以查看https://github.com/brennannovak/codeigniter-facebook-oauth,它可以让您使用基本示例应用程序上传CodeIgniter设置。它取代了旧的php-sdk。