Javascript OAutheException:(#200)用户没有';t授权应用程序执行此操作
我试图从我的javascript发布到Fb页面,我收到了这个错误 (#200)用户尚未授权应用程序执行此操作 “OAutheException” 我可以在同一时间发布到我的FB墙,但不能发布到我是管理员的FB粉丝页面。请告诉我哪里出了问题。我的代码:Javascript OAutheException:(#200)用户没有';t授权应用程序执行此操作,javascript,facebook,Javascript,Facebook,我试图从我的javascript发布到Fb页面,我收到了这个错误 (#200)用户尚未授权应用程序执行此操作 “OAutheException” 我可以在同一时间发布到我的FB墙,但不能发布到我是管理员的FB粉丝页面。请告诉我哪里出了问题。我的代码: <input type="submit" class="btn" onclick="postToFeed(); return false;"
<input type="submit" class="btn"
onclick="postToFeed(); return false;"
value="Share with Friends"/>
<input type="submit" class="btn"
onclick="postToPage(); return false;"
value="Share On Page"/>
<p id='msg'></p>
<script>
FB.init({appId: '{!appId}', status: true, cookie: true});
function postToPage() {
var page_id = '1426984900889247';
FB.api('https://graph.facebook.com/' + page_id, {fields: 'access_token'}, function(resp) {
console.log(resp);
console.log(resp.access_token);
if(resp.access_token) {
FB.api('https://graph.facebook.com/' + page_id + '/feed',
'post',
{ message: "{!posDetails.Name}",
description :'{!posDetails.CMSR__Job_Description__c}',
link : '{!siteUrl}',
picture: '{!posDetails.CMSR__Linked_In_Url__c}',
caption: '{!posDetails.CMSR__Summary__c}',
access_token: resp.access_token }
,function(response) {
console.log(response);
});
}
});
alert(resp);
}
function postToFeed() {
var obj = {
method: 'feed',
link: '{!siteUrl}',
picture: '{!posDetails.CMSR__Linked_In_Url__c}',
name: '{!posDetails.Name}',
caption: '{!posDetails.CMSR__Summary__c}',
description: '{!posDetails.CMSR__Job_Description__c}'
};
function callback(response) {
if (response['post_id']) {
var postId = response['post_id'].split('_')[1];
document.getElementById('msg').innerHTML =
"Posted to your wall. "+
"<a href=\"https://www.facebook.com/permalink.php?"+
"id={!me.id}&v=wall&story_fbid="+postId+"\">View your post</a>";
}
}
FB.ui(obj, callback);
}
</script>
<script>
$( document ).ready(function() {
var nameID;
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
FB.api('/me/accounts', function(response){
console.log(response);
console.log(response.data);
var data= response['data'];
var ids = new Array();
var name = new Array();
console.log('data');
console.log(data);
console.log('ID');
console.log(ids);
for(var i=0; i<data.length; i++){
ids[i] = data[i].id;
name[i] = data[i].name;
if(ids[i] != null){
console.log(ids[i]);
if(nameID == 'undefined'){
nameID = ids[i]+':'+data[i].name+';';
}
else{
nameID = nameID+' '+ids[i]+':'+data[i].name+';';
}
}
}
setVar(nameID);
console.log('method called ');
console.log(ids);
console.log(name);
console.log(nameID);
});
}
else {
FB.login();
FB.api('/me/accounts', function(response){
console.log(response);
});
}
});
function setVar(param){
jQuery('[id$=myHiddenField]').val(param);
console.log('Param value '+param);
passStringToController();
}
});
</script>
init({appId:'{!appId}',状态:true,cookie:true});
函数postToPage(){
var page_id='1426984900889247';
FB.api('https://graph.facebook.com/“+页面id,{字段:'access_token'},函数(resp){
控制台日志(resp);
控制台日志(分别访问令牌);
if(分别访问令牌){
FB.api('https://graph.facebook.com/“+page_id+”/feed”,
"岗位",,
{消息:“{!posDetails.Name}”,
描述:“{!posDetails.CMSR__作业描述__c}”,
链接:“{!siteUrl}”,
图片:“{!posDetails.CMSR_uuuulinked_In_Url_uuuc}”,
标题:“{!posDetails.CMSR_u_Summary__c}”,
访问令牌:resp.access\u令牌}
,功能(回应){
控制台日志(响应);
});
}
});
警报(resp);
}
函数postToFeed(){
var obj={
方法:“提要”,
链接:“{!siteUrl}”,
图片:“{!posDetails.CMSR_uuuulinked_In_Url_uuuc}”,
名称:“{!posDetails.name}”,
标题:“{!posDetails.CMSR_u_Summary__c}”,
描述:“{!posDetails.CMSR__作业描述__c}”
};
函数回调(响应){
如果(响应['post_id']){
var postId=响应['post_id'].拆分('uU')[1];
document.getElementById('msg')。innerHTML=
“贴在墙上。”+
"";
}
}
FB.ui(obj,回调);
}
$(文档).ready(函数(){
变种nameID;
FB.getLoginStatus(函数(响应){
如果(response.status===“已连接”){
FB.api('/me/accounts',函数(响应){
控制台日志(响应);
console.log(response.data);
var数据=响应[‘数据’];
var id=新数组();
var name=新数组();
console.log(“数据”);
控制台日志(数据);
console.log('ID');
控制台日志(ids);
对于(var i=0;iTh错误意味着您尚未获得权限。请获取访问令牌,然后重试。若要写入用户源,您将需要发布操作
权限
我相信编辑Graph API调用代码就可以了
FB.api('https://graph.facebook.com/' + page_id + '/feed',
'post',
{
message: "{!posDetails.Name}",
description :'{!posDetails.CMSR__Job_Description__c}',
link : '{!siteUrl}',
picture: '{!posDetails.CMSR__Linked_In_Url__c}',
caption: '{!posDetails.CMSR__Summary__c}',
access_token: resp.access_token
},
function(response) {
console.log(response);
});
},
{scope: 'publish_actions'}
);
最后一部分是获取权限的地方。
在将图形API调用放入代码之前,您还应该尝试使用图形API调用。
。请尝试在此处试用访问令牌(权限)和API版本
如果你想要一个教程,你可以在这个链接上找到它。虽然它不是免费的,但它是值得的。我是javascript Fb connection的新手。你能告诉我怎么做吗。我需要做什么改变才能让它工作。我相信,这是你正在进行的图形API调用代码看起来你正在尝试预填充,这是对Facebo不利的ok平台策略