【问题标题】:Invalid access token facebook error for facebook graph apifacebook graph api的无效访问令牌facebook错误
【发布时间】:2017-01-06 11:45:18
【问题描述】:

我正在使用以下基于 #unificationengine API 的 curl 代码来访问 facebook graph api 并在 facebook 上发布消息:

$post_msg = json_encode(
        array(
            'message' =>
                array(
                    'receivers' =>
                        array(
                                array(
                                    'name'      => 'Me',
                                    'address'   => 'https://graph.facebook.com/v2.5/7/feed?access_token='.$request->access_token,
                                    'Connector' => 'facebook'

                                ),
                        ),
                        'sender'    =>
                        array('address' => 'sender address'),
                        'subject'   => 'Hello',
                        'parts'     =>
                        array(
                                array(
                                    'id'          => '1',
                                    'contentType' => 'text/plain',
                                    'data'        => 'Hi welcome to UE',
                                    'size'        => 100,
                                    'sort'        => 0

                            ),
                        ),
                    ),

                )
            );



    $ch = curl_init('https://apiv2.unificationengine.com/v2/message/send');
    curl_setopt($ch, CURLOPT_USERPWD, "ab33333222b-acb5-49a6-a766-80d991daff41:43433232-33cb-49f0-3333-3fe6c46acb5f");
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
     curl_setopt($ch, CURLOPT_VERBOSE, true); 
    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];

我收到无效的访问令牌错误,代码为 498。我参考了有关此主题的各种帖子,但无法弄清楚缺少什么。

如何检查 facebook 访问令牌的有效性。

参考了这些问题:

  1. SO question 1

  2. SO question 2

【问题讨论】:

  • 您的访问令牌可能已过期。请重新连接facebook连接或使用apiv2.unificationengine.com/v2/connection/refresh api刷新连接。
  • 我使用了 apiv2.unificationengine.com/v2/connection/refresh,它返回了两个参数作为响应:'status': 200 和 'info':'ok'。
  • 我的访问令牌看起来是这样的:EAAZALF1r8QvwBAGLsCZCbIpuZAlYKYZBSrWTC57hhCHp9qW3YS9HwAsICxqkhboK7vcO44KbtMJlUqQ7pyDfJpQED3TFmzgHy5XExG8TUGqGZA3cYWY394NfROjznq2VjSmEqnsdfdfdpa1TrO0aVlkp1AfGfT3vNZB89ZA5ehM8ZACJQZDZD SPAN>
  • @AMT.in 当我调用刷新连接 curl 时,有时会收到错误 520 未知错误,有时会收到 498 无效令牌错误。对此有何想法?
  • facebook 访问令牌的生命周期约为两个小时。对于寿命较长的 Web 应用程序,尤其是服务器端,需要生成寿命较长的令牌。长寿命令牌通常持续约 60 天。 UE 具有刷新 facebook 令牌的能力。使用 "apiv2.unificationengine.com/v2/connection/add" api 调用添加连接后,您应该调用 "apiv2.unificationengine.com/v2/connection/refresh" api 以使短期令牌变为长期令牌。

标签: facebook api facebook-graph-api unificationengine


【解决方案1】:

facebook 访问令牌的生命周期约为两个小时。对于寿命较长的 Web 应用程序,尤其是服务器端,需要生成寿命较长的令牌。长寿命令牌通常持续约 60 天。

UE 具有刷新 facebook 令牌的能力。使用“apiv2.unificationengine.com/v2/connection/add”添加连接后; api调用,那么你应该调用“apiv2.unificationengine.com/v2/connection/refresh”; api 将短命令牌变为长命。

【讨论】:

  • 是的,我们也尝试过。有时它会给出与发送消息相同的错误无效令牌。有时它会给出 200 个成功代码,但不会返回带有成功信息的 uri。可能的原因是什么。
  • 响应中好像不会返回uri,但是UE只是刷新了token,返回了状态。
猜你喜欢
  • 1970-01-01
  • 2015-03-07
  • 2016-11-15
  • 2013-12-04
  • 1970-01-01
  • 2018-09-27
  • 2011-11-06
  • 2012-03-04
  • 1970-01-01
相关资源
最近更新 更多