【问题标题】:Tags friends photo标签 朋友 照片
【发布时间】:2023-11-11 04:32:02
【问题描述】:

我使用这个代码,但我得到一个错误

致命错误:未捕获的 OAuthException:(#121) 第 1106 行 /home/a283357/public_html/app/base_facebook.php 中抛出的照片 ID 无效

我的代码用于标签

$data = array(array('tag_uid' => $friends, 'x' => rand() % 100, 'y' => rand() % 100 ));
$data = json_encode($data);
//, 'tags' => $data,


$photo_details = array( 'message'=> 'message ', 'tags' => $data, 'image' => '@' . realpath($file) );
$upload_photo = $facebook->api('/'.$album_uid.'/photos', 'post', $photo_details);

我想标记 5 或 10 个朋友

【问题讨论】:

    标签: php facebook tags photo


    【解决方案1】:

    您不能在创建照片时指定照片的标签。您还为创建照片方法中使用的参数使用了错误的名称。

    你应该先创建照片然后标记它。

    创建照片:

    $photo_details = array(
      'message'=> 'message ',
      'source' => '@' . realpath($file)
    );
    $uploaded_photo = $facebook->api('/'.$album_uid.'/photos', 'post', $photo_details);
    

    现在标记它:

    $tags = array(
      array('tag_uid' => $friend_id, 'x' => rand() % 100, 'y' => rand() % 100 )
    );
    $photo_id = $uploaded_photo['id'];
    $facebook->api('/'.$photo_id.'/tags', 'post', array('tags'=>$tags));
    

    注意, documentation states to parameter 作为一个来指定标记的用户,但它不是(它是 tag_uid 在您的初始示例中)。

    【讨论】:

    • 我收到此错误致命错误:未捕获的 OAuthException:(#803)您请求的某些别名不存在:在第 1106 行的 /home/a283357/public_html/app/base_facebook.php 中抛出的数组
    • @AiBossi,代码示例中有一个错误,现在应该修复。
    • 再次错误致命错误:未捕获的 OAuthException:(#100)在参数“tags”中找到无效的键“to”。扔在 /home/a283357/public_html/app/base_facebook.php 第 1106 行
    • 再次显示致命错误:未捕获的 OAuthException:(#121) 第 1106 行 /home/a283357/public_html/app/base_facebook.php 中抛出的照片 ID 无效
    • @AiBossi,示例代码不包含任何错误处理确保第二个标记照片的请求包含正确的照片id。在标记照片之前,您可能需要print_r($uploaded_photo)。对我来说,这种方式非常有效。