linkedin rest api:我如何知道邀请是不是已发送?

Posted

技术标签:

【中文标题】linkedin rest api:我如何知道邀请是不是已发送?【英文标题】:linkedin rest api : how am i to know if the invitation is sent?linkedin rest api:我如何知道邀请是否已发送? 【发布时间】:2013-10-30 12:29:04 【问题描述】:

您好,我正在使用 Linkedin rest api 从我的网站发送邀请。我已成功从电子邮件中完全发送消息。现在我正在尝试通过 ID 发送邀请。我应该期待什么回应。

请查看我的代码:

       $params = array('oauth2_access_token' => $_SESSION['access_token'],
        'format' => 'json',
       );


        $invite = "<?xml version='1.0' encoding='UTF-8'?>";
        $invite .= '<mailbox-item>';
        $invite .= '<recipients>';
        $invite .= '<recipient>';
        $invite .= '<person path="/people/' . $arr['id'] . '" />';
        $invite .= '</recipient>';
        $invite .= '</recipients>';
        $invite .= '<subject>Invitation to Connect</subject>';
        $invite .= '<body>Test message for prajwol.. </body>';
        $invite .= '<item-content>';
        $invite .= '<invitation-request>';
        $invite .= '<connect-type>friend</connect-type>';
        $invite .= '<authorization>';
        $invite .= '<name>' . $arr['auth_name'] . '</name>';
        $invite .= '<value>' . $arr['auth_val'] . '</value>';
        $invite .= '</authorization>';
        $invite .= '</invitation-request>';
        $invite .= '</item-content>';
        $invite .= '</mailbox-item>';

Curl 请求是

    $url = 'https://api.linkedin.com/v1/people/~/mailbox?oauth2_access_token=' . Yii::app()->session['linkedin_credentials']['access_token'];
    // Tell streams to make a POST request

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $invite);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);
    curl_close($ch);

其中 $arr 是一个关联数组,例如。

    $arr = Array ( 
                   id => id=ffjIbK64ba, 
                   auth_name => OUT_OF_NETWORK, 
                   auth_val => mTvp 
                 ); 

非常感谢任何帮助。 谢谢。

【问题讨论】:

【参考方案1】:

根据 Linkedin 的 API 文档,您应该可以通过网络服务器返回的 HTTP 代码来检查您是否收到邀请:https://developer.linkedin.com/documents/request-and-response-headers

要检查它,请将 CURLOPT_HEADER 设置为 TRUE,然后解析 $result。

我希望这会有所帮助。

【讨论】:

嗨,谢谢您的回复.. 我得到了 201 作为回复.. 好像我做得对:) 谢谢。

以上是关于linkedin rest api:我如何知道邀请是不是已发送?的主要内容,如果未能解决你的问题,请参考以下文章

LinkedIn 邀请 API 错误 401 [未经授权]-iPhone sdk

如何保护 RESTful API

LinkedIn工作搜索REST API问题

LinkedIn:将 JSAPI 令牌交换为 REST 的 OAuth 令牌

Restful api 和搜索和邀请等操作

CORS 错误:LinkedIn 身份验证; .NET Core 5 REST API