gpt4 book ai didi

php - facebook 为页面创建应用程序以将照片上传到页面的相册

转载 作者:可可西里 更新时间:2023-10-31 23:34:12 26 4
gpt4 key购买 nike

我是 Facebook 应用程序开发的新手,所以请多多包涵。

有人要求我创建一个 Facebook 页面,并使用一个应用程序让用户将照片上传到页面的一个相册中。

我已经成功创建了页面,我们将其命名为 MyPage。我还创建了一个应用程序 MyApp,并将该应用程序添加到主页的个人资料中。现在,当您查看 MyPage 个人资料时,在左侧(选项卡),您已经找到了 MyApp

MyApp 指向我的托管帐户上的一个 php 页面。它有一个带有文件字段的表单:

<form action="<?=$PHP_SELF;?>" enctype="multipart/form-data" method="post">
<input name="MAX_FILE_SIZE" type="hidden" value="10000000" />
<input id="fileSelect" name="fileSelect" type="file" />
<input name="submit" type="submit" value="Upload" />
</form>

和下面的代码来处理上传的文件并假设放入MyPage的相册:

if(count($_FILES)){
$name = ereg_replace(' ', '_', basename($_FILES['fileSelect']['name']));
$uploadFile = "uploads/" . $name;
if (move_uploaded_file($_FILES['fileSelect']['tmp_name'], $uploadFile)) {
$facebook->setFileUploadSupport(true);

$args = array('message' => 'Photo Caption');
$args['image'] = '@' . realpath($uploadFile);

$data = $facebook->api('/THE_ALBUM_ID/photos', 'post', $args);

//get rid of the original on the main server
unlink($uploadFile);
}
}

但是,当提交“上传”按钮时,我在 MyPageMyApp 的 iframe 中收到此错误:

Fatal error: Uncaught OAuthException: (#120) Invalid album id thrown in /COMPLETE_PATH/facebook-php-sdk/src/base_facebook.php on line 1033

即使专辑 ID 确实正确,并且在我使用 Graph API Explorer 或 graph.facebook.com/THE_ALBUM_ID 时显示

顺便说一句,我把它放在脚本的顶部:

require 'facebook-php-sdk/src/facebook.php';

$facebook = new Facebook(array(
'appId' => 'THE_APP_ID',
'secret' => 'THE_APP_SECRET',
));

我错过了什么?任何帮助将不胜感激。

最佳答案

我发现通过 Facebook API 将照片上传到页面的唯一方法是作为页面进行。为此,您需要首先验证为页面。为此,您必须:

  1. 使用 manage_pages 权限向拥有该页面的用户进行身份验证。
  2. 请求页面

    /me/accounts?access_token=YOUR_ACCESS_TOKEN

  3. 找到对应页面的access_token

  4. 使用该 access_token 上传照片。

如果您需要 USERS 将照片上传到页面,您可以获得拥有该页面的用户的长期 token 并存储它以使用该 token 而不是用户 token 来上传照片。上传的照片虽然不会显示为用户上传,但会显示为由页面上传。

关于php - facebook 为页面创建应用程序以将照片上传到页面的相册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7140097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com