我是否可以制作一个按钮,当我点击该按钮时,内容将直接在facebook上共享,而无需向用户显示共享提示对话框?
我在网上介绍了它,发现它可以通过移动设备实现:http://www.mindfiresolutions.com/How-to-post-message-on-your-facebook-wall-without-using-Facebook-dialog-Box-1419.php
问题是,我们是否可以进行某种ajax调用,并在web应用程序上完成这项工作。
我们使用了以下代码
<?php
require_once('php-sdk/facebook.php');
$config = array(
'appId' => 'My app ID', /*Your APP ID*/
'secret' => 'My Secret ID', /*Your APP Secret Key*/
'allowSignedRequest' => false
);
$facebook = new Facebook($config);
$user_id = $facebook->getUser();
if($user_id) {
try {
$user_profile = $facebook->api('/me','GET');
} catch(FacebookApiException $e) {
$login_url = $facebook->getLoginUrl();
echo 'Please <a href="' . $login_url . '">login.</a>';
error_log($e->getType());
error_log($e->getMessage());
}
} else {
// No user, print a link for the user to login
$login_url = $facebook->getLoginUrl();
echo 'Please <a href="' . $login_url . '">login.</a>';
}
$response = $facebook->api(
"/me/feed",
"POST",
array (
'message' => 'This is a test message',
'link' => 'www.google.com'
/* 'picture' => '{picture}',
'caption' => '{caption}',
'description' => '{description}'*/
)
);
?>
但它返回:"致命错误:未捕获OAuthException:(#200)用户未授权应用程序在文件中执行此操作"如有任何帮助,我们将不胜感激。
提前谢谢。
当然,您可以使用Graph API。点击按钮,您只需拨打'POST
呼叫/me/feed
即可。
了解有关通过Graph API发布提要的更多信息,以及此处提供的所有参数。
所需权限:publish_stream
使用PHP SDK:
$response = $facebook->api(
"/me/feed",
"POST",
array (
'message' => 'This is a test message',
'link' => '{link}',
'picture' => '{picture}',
'caption' => '{caption}',
'description' => '{description}'
)
);
直接HTTP请求-
POST /me/feed
Host: graph.facebook.com
message=This+is+a+test+message
...
您可以在Graph API Explorer 中检查您的调用
编辑:
请求所需权限:
$params = array(
'scope' => 'publish_stream'
);
$login_url = $facebook->getLoginUrl($params);
您可以在此处阅读有关权限的更多信息。
试试这种方法:https://developers.facebook.com/docs/reference/php/在对wep应用程序进行编码时,您只需要提供应用程序Id和应用程序密钥,然后您就必须指定要发布的内容。你也应该试试Javascript Facebook SDK,你会在这里找到它:https://developers.facebook.com/docs/javascript或者你可以更进一步,尝试一下C#SDK,这个有点复杂,但你可以做得更多。编码玩得开心!!!
只需转到https://developers.facebook.com/docs/opengraph/
查看并放置您想要的共享类型。
这是一个很长的过程,所以你需要研究一下。