当前位置 : 主页 > 网络推广 > seo >

使用ColdFusion检索Linkedin Group讨论帖

来源:互联网 收集:自由互联 发布时间:2021-06-16
我被客户要求将他们LinkedIn组中的最新帖子提取到我们的网站页面之一. 我正在使用ColdFusion 9进行开发,并且已经研究了这几天了,并决定在这里发布我的查询,希望有人能够帮助我. 我可以
我被客户要求将他们LinkedIn组中的最新帖子提取到我们的网站页面之一.

我正在使用ColdFusion 9进行开发,并且已经研究了这几天了,并决定在这里发布我的查询,希望有人能够帮助我.

我可以达到我有一个requestToken的地步.我的理解是,我现在需要签署请求令牌以获取accessToken.我的问题是我需要在幕后做这件事.但是,我能找到的所有示例都是将前端用户重定向到授权URL以允许用户进行身份验证,但我不希望用户进行身份验证,我想要对服务器端进行身份验证.

我正在尝试使用Scribe Java包装器库.下面是我到目前为止获取requestToken(以及授权URL)的代码.我需要有人指出我在正确的方向上签署服务器端代码上的令牌,以便我可以进行必要的调用以使用Groups API(例如http://api.linkedin.com/v1/groups/ { ID} /帖计数= 5&安培;开始= 1)

<cfscript>
    var l = {};
    //The LinkedIn public and private keys for application
    l.oauth_consumer_key = "[My public key]";
    l.oauth_sign_key = "[My secret key]";
    l.serviceBuilder = CreateObject("java","org.scribe.builder.ServiceBuilder");
    l.LinkedInApiClass = CreateObject("java", "org.scribe.builder.api.LinkedInApi").getClass();
    l.service = l.serviceBuilder.provider(l.LinkedInApiClass).apiKey(l.oauth_consumer_key).apiSecret(l.oauth_sign_key).callback("[My callback url]").build();
    l.requestToken = l.service.getRequestToken();
    l.authUrl = l.service.getAuthorizationUrl(l.requestToken);

    // I NEED TO DEFINE WHAT TO DO AT THIS POINT TO SIGN THE REQUEST SERVER SIDE
    ...
    ...
</cfscript>
Kirsten在技术上是正确的 – 在Api中链接需要用户身份验证.这很烦人,因为您需要进行身份验证甚至检索组帖子.

然而,有一些方法围绕它.

使用scribe,您可以手动创建访问令牌.那么我要做的是在Linked In上创建一个虚拟用户帐户,正常验证该用户并将返回的签名凭据保存在您的数据库中,然后您可以使用它来创建令牌:

var accessToken = createObject("java", "org.scribe.model.Token").init(
                "singedTokenStringReturnBackFromLinkedIn",
                "singedSecretStringReturnBackFromLinkedIn",
                "oauth_token=singedTokenStringReturnBackFromLinkedIn&oauth_token_secret=singedSecretStringReturnBackFromLinkedIn&oauth_expires_in=0&oauth_authorization_expires_in=0"
            );

然后,您可以跳过身份验证部分并调用api,允许您显示群组帖子,而无需当前用户登录:

var req = createObject("java", "org.scribe.model.OAuthRequest").init(
            createObject("java", "org.scribe.model.Verb").GET,
            "http://api.linkedin.com/v1/groups/123456/posts"
        );

oAuthService.signRequest(accessToken, req);

我不知道这是否会违反Linked In的T& C.

网友评论