【发布时间】:2013-11-21 00:45:50
【问题描述】:
在我编写的应用程序中有与此类似的代码(位于:Upload video to facebook with php-sdk graph api),但昨天我开始收到 OAuthException 错误。我找了一个简单的视频上传示例到 Facebook 页面进行测试,它返回相同的 200 OAuthException。我尝试修改权限以包含 video_upload
建议任何人?
我刚刚检查过,下面的示例来自 Facebook 的关于如何上传视频的页面。这没用。
`
$app_id = "";// SET TO APP ID
$app_secret = "";// SET TO APP SECRET
$my_url = "";// SET TO URL
$video_title = "TITLE FOR THE VIDEO";
$video_desc = "DESCRIPTION FOR THE VIDEO";
$page_id = " "; // Set this to your APP_ID for Applications
$code = $_REQUEST["code"];
echo '<html><body>';
if(empty($code)) {
// Get permission from the user to publish to their page.
$dialog_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url)
. "&scope=publish_stream,manage_pages";
echo('<script>top.location.href="' . $dialog_url . '";</script>');
} else {
// Get access token for the user, so we can GET /me/accounts
$token_url = "https://graph.facebook.com/oauth/access_token?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url)
. "&client_secret=" . $app_secret
. "&code=" . $code;
$access_token = file_get_contents($token_url);
$accounts_url = "https://graph.facebook.com/me/accounts?" . $access_token;
$response = file_get_contents($accounts_url);
// Parse the return value and get the array of accounts we have
// access to. This is returned in the data[] array.
$resp_obj = json_decode($response,true);
$accounts = $resp_obj['data'];
// Find the access token for the page to which we want to post the video.
foreach($accounts as $account) {
if($account['id'] == $page_id) {
$access_token = $account['access_token'];
break;
}
}
// Using the page access token from above, create the POST action
// that our form will use to upload the video.
$post_url = "https://graph-video.facebook.com/" . $page_id . "/videos?"
. "title=" . $video_title. "&description=" . $video_desc
. "&access_token=". $access_token;
// Create a simple form
echo '<form enctype="multipart/form-data" action=" '.$post_url.' "
method="POST">';
echo 'Please choose a file:';
echo '<input name="file" type="file">';
echo '<input type="submit" value="Upload" />';
echo '</form>';
}
echo '</body></html>';
?>`
我不断收到此错误: { “错误”: { "message": "(#200) 应用无权发布到目标", “类型”:“OAuthException”, “代码”:200 } }
【问题讨论】:
-
嗨@MtRoxx。我面临同样的问题。视频一直上传到前天,但昨天开始抛出问题。消息响应与您的相同。我在 Facebook 上提交了一个关于此的错误。所以请向脸书举报。 developers.facebook.com/bugs/…
-
很奇怪,我昨天也遇到了同样的问题,无法在 fb 页面上上传我的视频,它给了我以下错误 { "error": { "message": "(#200)应用无权发布到目标", "type": "OAuthException", "code": 200 }
-
嗨,雷,欢迎来到俱乐部。现在,我正在仔细检查我所知道的一切,以确保设置正确。我用它来检查权限: $permissions = $facebook->api("/me/permissions"); if(array_key_exists('publish_stream', $permissions['data'][0]) ) { // 权限被授予! // 执行相关任务 echo "I have permissions!
"; } else { // 我们没有权限 // 提醒用户或请求权限! echo "没有权限
"; } -
作为记录,我还有其他创建 FB 对象的代码。我明天会发布一个链接。
-
根据权限数组,我有正确的权限。我不知道下一步该做什么。有任何想法吗? $permissions = $facebook->api("/me/permissions");回声“
”; print_r($permissions);回声“
”;
标签: php facebook file-upload oauth