【问题标题】:Facebook post using open graph for test user使用开放图为测试用户发布 Facebook 帖子
【发布时间】:2014-02-26 16:11:33
【问题描述】:

我正在尝试使用 facebook 开放图来发布测试用户帐户。但我收到错误“发生意外错误。请稍后重试您的请求。”

我在@上读到了这篇“提醒一下,不确定是否有变化,但是未提交的 Open Graph 操作类型(即审查)只能使用应用管理员或开发人员帐户进行测试。测试帐户将不起作用” 987654321@

如果我能解决这个问题,有人可以告诉我吗?

编辑: 正如这里建议的描述: 我有一个使用 facebook 登录的网站,然后用户可以在使用 facebook 对象图的 facebook 上发布他们的一些操作。

我想要的: 我网站上的用户可以在 facebook 上发布一些东西。

我做了什么: 代码:

   function postToWall() {

    FB.api(
   'https://graph.facebook.com/me/video.watches',
   'post',
  { video: '<A Valid Link>',
   message : msg,

     privacy: {'value': 'EVERYONE'}},
   function(response) {
     if (!response) {
     document.getElementById("result-msg").innerHTML="There is some problem with communication. Please try again!!!";
     $('#result-msg').fadeIn('slow').delay(10000).fadeOut('slow');
     } else if (response.error) {
     console.log(response.error.code);
       document.getElementById("result-msg").innerHTML="All is not well !! "+response.error.message;
        $('#result-msg').fadeIn('slow').delay(10000).fadeOut('slow');
     } else {
     document.getElementById("result-msg").innerHTML="Done!!! This has been posted. Keep listening!";
        $('#result-msg').fadeIn('slow').delay(10000).fadeOut('slow');
     }

测试: 我已经使用我的帐户进行了测试,它工作正常。只是添加我是应用程序的管理员。 还使用我配偶的帐户进行了测试,它再次正常工作。她已被添加为应用的测试员。

我还创建了 3 个测试用户帐户(Facebook 测试用户),因为文档说我需要用 facebook 测试用户测试我的操作。但它不适用于 facebook 测试用户。 我总是收到这个消息“一切都不好!发生了意外错误。请稍后再试”

使用的技术:HTML/Javascript、PHP

谢谢

【问题讨论】:

    标签: facebook facebook-opengraph


    【解决方案1】:

    正如我在 FB 开发人员组中向您解释的那样,任何人都无法理解您的问题,因为您只是在说:

    “我正在做 X,但没有得到结果 Y”。没有任何额外信息。从这个开始:

    1. 你想做什么?整个用例场景
    2. 您创建了什么样的测试用户?为什么不使用自己的配置文件?据我所知,facebook 上没有“测试帐户”。您正在创建一个普通的配置文件,但您正在创建它只是为了测试一些东西。
    3. 您使用的是什么技术栈? (Ruby、Nodejs 等)使用哪些框架/库(Rails、Express、Passportjs 等)。
    4. 您的应用程序正在实现对 Facebook Graph API 的 POST,因此请显示您用于此调用的代码以及您的 HTTP POST 调用的外观。也许您缺少令牌或其他东西。

    干杯。

    【讨论】:

    • 已编辑。看看对你有没有帮助。
    • 您是否为公众激活了您的应用程序? link -> Your App -> "Status&Review" -> 切换按钮,但是你应该知道,在这之后,理论上每个人都可以使用你的应用程序。或者您可以在“角色”中添加其他用户
    • 抱歉回复晚了,但您确定可以使用测试用户帐户发布内容吗? developers.facebook.com/docs/graph-api/reference/test-user 没有提供发帖的条目。
    • 这是我在 facebook 提交过程中发现的 developers.facebook.com/docs/opengraph/submission-process "在您提交操作以供审核​​之前,您必须在您的应用程序中使用在提交过程中创建的测试用户发布它,称为 Open图表预览用户。在您可以成功地将操作发布到此测试用户的时间线之前,请不要提交您的应用以供审批。
    • 您要提交新的操作吗?比你必须遵循这些规则:developers.facebook.com/docs/opengraph/creating-custom-stories 我以为你只想推送简单的标准“POST”消息而不是你自己的开放图操作
    【解决方案2】:

    我刚刚创建了一个应用程序,就像你想要做的那样,你需要 publish_actions 权限 我还必须继续让我的应用程序能够正常工作。我不得不扩展令牌。

    【讨论】:

    • 你能扩展和澄清你的答案吗?
    【解决方案3】:

    我一直使用这段代码,我的用户都是测试用户,我所有的信息都是从数据库中提取的,但这应该不仅仅是让你朝着正确的方向前进。确保您的应用程序已上线!获取用户的扩展访问令牌,否则您将无法发布到他们的墙上

     // require Facebook PHP SDK
    // see: https://developers.facebook.com/docs/php/gettingstarted/
     require_once("facebook.php");
    
    // initialize Facebook class using your own Facebook App credentials
    // see: https://developers.facebook.com/docs/php/gettingstarted/#install
    $config = array();
    $config['appId'] = 'appid';
    $config['secret'] = 'appsecret';
    $config['fileUpload'] = false; // optional
    
    $fb = new Facebook($config);
     // define your POST parameters (replace with your own values)
    $params = array( "access_token" => $token, // see:       
    "message" => "message",
    "link" => "link",
    "picture" => "picture",
    "name" => "name",
    "caption" => "caption",
    "description" => "desc"
    );
    
    // post to Facebook
    // see: https://developers.facebook.com/docs/reference/php/facebook-api/
    try {
    $ret = $fb->api('/'.$fbid.'/feed', 'POST', $params);
    
    
     } catch(Exception $e) {
      echo $e->getMessage();
    

    【讨论】:

    • 对不起,你需要 facebook.php 和 base_facebook.php
    • 当然我使用了 php,我正在查看你放在这里的代码我真的不知道它在任何帐户上是如何工作的,如果你需要有关登录扩展令牌的帮助,请询问
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    相关资源
    最近更新 更多