我是否有可能制作一个按钮,当我点击时,内容直接在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)用户未授权应用程序执行此操作抛出文件” 任何帮助都将受到高度赞赏。
提前致谢。
答案 0 :(得分:2)
当然,您可以使用Graph API。点击按钮,您只需\POST
拨打/me/feed
。
详细了解如何通过图谱API发布供稿以及所有可用参数here。
需要许可: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
...
中查看来电
修改强>
要求获得所需的权限:
$params = array(
'scope' => 'publish_stream'
);
$login_url = $facebook->getLoginUrl($params);
您可以阅读有关权限here的更多信息。
答案 1 :(得分:0)
尝试这种方式:https://developers.facebook.com/docs/reference/php/ 在编写wep应用程序时,您只需提供App Id和App Secret,然后您必须指定要发布的内容。 你应该尝试使用Javascript Facebook SDK,你可以在这里找到它:https://developers.facebook.com/docs/javascript或者你可以更进一步尝试C#SDK,这个有点复杂,但是你可以做到这么多更多。 有乐趣编码!!!
答案 2 :(得分:0)