首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >统一引擎API发送消息时的禁止错误403

统一引擎API发送消息时的禁止错误403
EN

Stack Overflow用户
提问于 2017-01-09 09:23:13
回答 2查看 262关注 0票数 1

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

  1. 网站网址:http://localhost:3000
  2. 电子邮件地址和其他所需详细信息

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

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

我在此使用的卷曲如下:

代码语言:javascript
复制
  $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];

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

我想再次提到,我正在本地主机上使用这个,这是否是被禁止错误的原因?如果是这样的话,那么我们从它获得访问令牌的facebook图形api也应该会出现这样的错误。

早些时候我已经发布了这个question,在这里我也没有找到正确的解决方案。我增加了Curl选项,这是在评论我的问题,但它没有改变的事情。

任何帮助都将不胜感激。

错误信息:

{\"Status\":{\"facebook\":{\"status\":403,\“info\”:\“禁忌:\”},\“URIs\”:[}]

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

代码语言:javascript
复制
{
  "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"
    }
  ]
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-01 06:04:15

我已解决了这个问题:

代码语言:javascript
复制
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访问键UNIFICATION_APP_KEY (它是您的统一密钥) UNIFICATION_APP_SECRATE (它是您的统一密钥)

如果这样不行的话,请告诉我。

票数 1
EN

Stack Overflow用户

发布于 2017-01-09 12:16:40

请您确认一下,您给出的“连接器”名称是否正确?

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

请提供在执行命令时返回的确切错误消息吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41544642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档