发送邮件

时间:2017-01-09 09:23:14

标签: php facebook-graph-api unificationengine

我正在使用#unificationengine API在facebook上发送消息。 我在Facebook上注册我的APP时给出的详细信息:

  1. 网站网址:http://localhost:3000

  2. 电子邮件地址和其他必需的详细信息

  3. 在unificationengine API中,我逐步使用了文档中提到的所有卷发,如下所示: 1.使用API​​密钥和Secret创建用户 2.添加连接 3.测试连接 4.刷新连接 5.发送消息

    所有4都给出了200个成功代码,但发送消息给出了403 fobidden错误。

    我正在使用的卷曲如下:

      $post_msg = json_encode(
            array(
                'message' =>
                    array(
                        'receivers' =>
                            array(
                                    array(
                                        'name'      => 'Me',
                                        'address'   => 'https://graph.facebook.com/v2.5/me/feed',
                                        'Connector' => 'facebook'
    
                                    ),
                            ),
                            'sender'    =>
                            array('address' => ''),
                            'subject'   => 'Hello',
                            'parts'     =>
                            array(
                                    array(
                                        'id'          => '1',
                                        'contentType' => 'text/plain',
                                        'data'        => 'Hi welcome to UE',
                                        'size'        => 100,
                                        'type'        => 'body',
                                        'sort'        => 0
    
                                ),
                            ),
                        ),
    
                    )
                );
    
    
    
        $ch = curl_init('https://apiv2.unificationengine.com/v2/message/send');
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_USERPWD,'3f43c37b-a066-4cc4-a3be-33faf72d6a21:2722fc72d-5d347-4a3a-a82b-0c1ss51aafb4');
        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_msg);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
    
    
    
        // execute!
        $response = curl_exec($ch);
    
        // close the connection, release resources used
        curl_close($ch);
    
        // do anything you want with your response
        var_dump($response);
    
    
    
        return ['label' =>$response];
    

    我想弄清楚这一点。但没有成功。

    我再次提到我在localhost上使用它,这可能是禁止错误的原因吗?如果是这样,那么我们获得访问令牌的facebook graph api也应该给出这样的错误。

    早些时候我发布了这个question,这里也没有找到正确的解决方案。我添加了我的问题评论中提到的Curl选项,但它没有改变这些东西。

    任何帮助都将受到高度赞赏。

    错误讯息:

      

    {\ “状态\”:{\ “脸谱\”:{\ “状态\”:403,\ “信息\”:\“禁止:   \ “}},\” 的URI \“:[]}

    更新 下面是我在facebook图形API资源管理器中运行我/权限时得到的json:

    {
      "data": [
        {
          "permission": "user_birthday",
          "status": "granted"
        },
        {
          "permission": "user_about_me",
          "status": "granted"
        },
        {
          "permission": "user_status",
          "status": "granted"
        },
        {
          "permission": "user_posts",
          "status": "granted"
        },
        {
          "permission": "email",
          "status": "granted"
        },
        {
          "permission": "manage_pages",
          "status": "granted"
        },
        {
          "permission": "publish_actions",
          "status": "granted"
        },
        {
          "permission": "public_profile",
          "status": "granted"
        }
      ]
    }
    

2 个答案:

答案 0 :(得分:1)

您能否确认您提供的“连接器”名称是否正确?

当我尝试您提供的示例代码时,我可以通过UE将消息发送到Facebook。

您能否提供执行命令时返回的确切错误消息?

答案 1 :(得分:1)

我已经解决了这个问题:

public function facebookSharing($access_token) {
        $app = new UEApp(env('UNIFICATION_APP_KEY'), env('UNIFICATION_APP_SECRATE'));
        $user = new UEUser('unification_userkey', 'unification_usersecret');
        $connection = $user->add_connection('FACEBOOK', "facebook", $access_token);
        $options = array(
            "receivers" => array(
                array(
                    "name"=> "Me"
                )
            ),
            "message"=>array(
                "subject"=>'testing',
                "body"=> 'description',
                "image"=> 'use any image url',
                "link"=>array(
                    "uri"=> 'any web site url',
                    "description"=> "",
                    "title"=>"Title"
                )
            )
        );
        $uris = $connection->send_message($options);
    }

请使用你的钥匙 facebook accessstoken UNIFICATION_APP_KEY(它是你的统一密钥) UNIFICATION_APP_SECRATE(它是你的统一密钥)

如果这不起作用,请告诉我。