我正在使用JS通过facebook graph API获取页面供稿,但是为了获取页面的供稿,我需要访问令牌。我当前的访问令牌设置为在一小时内到期,但是我可以将AppID|AppSecret用作永久访问令牌。

我的问题是:由于查看页面源将显示访问令牌,因此使用appID | appSecret组合是拥有永久access_token的安全方法吗?



var facebookFeed = [];
window.fbAsyncInit = function () {
    FB.init({
        appId: '173668203065748',
        xfbml: true,
        version: 'v2.7'
    });
    FB.api(
        '/officialstackoverflow/feed',
        'GET', {
            "access_token": "EAACEdEose0cBACP92ZBJexyw6OhDqs7SbBIme4CSisaI4UDgbJHDOa0NVjoXOXSJB7SD6549CB6M3KAdV11ySAn6wlJAMI4YEFEdfw2cM9JpovUG4NZC3VsCWcajbXfXWSWMmQQDR1fM9bzk6YPxMUYOiqBQnWrEm0IzbaCQZDZD",
            "fields": "full_picture,message,created_time,type,link,id"
        },
        function (response) {
            writePosts(response.data);
        }
    );
};

(function (d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) {
        return;
    }
    js = d.createElement(s);
    js.id = id;
    js.src = "//connect.facebook.net/en_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

function writePosts(facebookFeed) {
    for (i = 0; i < facebookFeed.length; i++) {
        var currentPost = facebookFeed[i];
        var myDate = new Date(currentPost.created_time);
        if (currentPost.type == "photo" || currentPost.type == "status") {
        if(!currentPost.link)currentPost.link="http://facebook.com//"+currentPost.id;
            console.log(currentPost);
                   }
    }
}

.facebookText {
	font-size: 16px;
	font-weight: 600;
	font-family: sans-serif;
}

.facebookImage {
	width: 100%;
	border:1px solid rgba(0,0,0,0.1)
}

.facebookPost {
	width: 400px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.3);
	box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.3);
	margin-bottom: 20px;
	padding: 10px 5px 3px 5px;
	transition: 0.3s ease all;
}

.facebookPost:hover {
	cursor: pointer;
	box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.5);
}

.facebookTime {
	font-size: 12px;
	font-style: italic;
	padding: 5px 0px;
}

最佳答案

由于某种原因,它被称为“应用程序秘密”,您不应在客户端上公开它。无论如何,您都不应向其他用户公开任何令牌。您需要在服务器端进行操作,并且应该实现一些缓存-以防万一您有很多用户并达到API限制。

关于javascript - Facebook API:AppID | AppSecret token ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39330804/

10-11 19:57