[問題] facebook分享圖片

作者: oToToT (屁孩)   2014-08-15 18:32:00
我想要將我網頁中canvas做出來的圖分享到FB,所以先將canvas base64後傳到imgur再用
imgur的連結讓他分享到FB中。而權限的部分我只有拿publish_actoin跟public_profile
但是每次shareToFB()的時後,他總會出現紅紅的字...而且好像非管理員連用都不能用..
請問大家有解嗎?
網站:http://ototot.github.io/ToS_Card/
這是部分縮減過的code:
function shareToFB () {
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
//已登入且和app連結
var uid = response.authResponse.accessToken;
accessToken = response.authResponse.accessToken;
init();
} else if (response.status === 'not_authorized') {
//已登入但未與app連結
login();
} else {
//未登入
login()
}
});
}
function login() {
FB.login(function(response) {
if (response.authResponse) {
init()
}else{
//somethibg
}
}, { scope: 'public_profile,publish_actions' });
}
function init () {
var link = ""
var imgURL = ""
$.ajax({
url: 'https://api.imgur.com/3/image',
headers: {
'Authorization': 'Client-ID e51ef6bcc76b94e'
},
type: 'POST',
data: {
'image':
get("output").toDataURL("image/png").replace("data:image/png;base64,","")
},
datatype: 'JSON',
success: function(req) {
imgURL = req.data.link
link = req.data.deletehash
FB.api('/me/photos', 'post', {
access_token: accessToken,
message: get("pd").value,
url:imgURL
}, function(response){
if (!response || response.error) {
//Something
} else {
//something
}
});
}
});
}window.fbAsyncInit = function() {
FB.init({
appId: XXXXXXXX,
status: true,
cookie: true,
xfbml: true,
oauth: true,
version: 'v2.0'
}
);
}
function shareToFB () {
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
//已登入且和app連結
var uid = response.authResponse.accessToken;
accessToken = response.authResponse.accessToken;
init();
} else if (response.status === 'not_authorized') {
//已登入但未與app連結
login();
} else {
//未登入
login()
}
});
}
function login() {
FB.login(function(response) {
if (response.authResponse) {
init()
}else{
//somethibg
}
}, { scope: 'public_profile,publish_actions' });
}
function init () {
var link = ""
var imgURL = ""
$.ajax({
url: 'https://api.imgur.com/3/image',
headers: {
'Authorization': 'Client-ID e51ef6bcc76b94e'
},
type: 'POST',
data: {
'image':
get("output").toDataURL("image/png").replace("data:image/png;base64,","")
},
datatype: 'JSON',
success: function(req) {
imgURL = req.data.link
link = req.data.deletehash
FB.api('/me/photos', 'post', {
access_token: accessToken,
message: get("pd").value,
url:imgURL
}, function(response){
if (!response || response.error) {
//Something
} else {
//something
}
});
}
});
}window.fbAsyncInit = function() {
FB.init({
appId: XXXXXXXX,
status: true,
cookie: true,
xfbml: true,
oauth: true,
version: 'v2.0'
}
);
}
function shareToFB () {
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
//已登入且和app連結
var uid = response.authResponse.accessToken;
accessToken = response.authResponse.accessToken;
init();
} else if (response.status === 'not_authorized') {
//已登入但未與app連結
login();
} else {
//未登入
login()
}
});
}
function login() {
FB.login(function(response) {
if (response.authResponse) {
init()
}else{
//somethibg
}
}, { scope: 'public_profile,publish_actions' });
}
function init () {
var link = ""
var imgURL = ""
$.ajax({
url: 'https://api.imgur.com/3/image',
headers: {
'Authorization': 'Client-ID e51ef6bcc76b94e'
},
type: 'POST',
data: {
'image':
get("output").toDataURL("image/png").replace("data:image/png;base64,","")
},
datatype: 'JSON',
success: function(req) {
imgURL = req.data.link
link = req.data.deletehash
FB.api('/me/photos', 'post', {
access_token: accessToken,
message: get("pd").value,
url:imgURL
}, function(response){
if (!response || response.error) {
//Something
} else {
//something
}
});
}
});
}
作者: qwer820404 (GB2)   2014-08-16 00:19:00
我記得4/30之後的APP 使用額外權限要送審...基本的三個 email public_profile user_friends其他都要在APP的Status&Review下面 去submission
作者: hit1205 (幫你把勇氣裝滿)   2014-08-17 22:07:00
審核期要三天,而且他會告訴你結果 @@ (如果失敗也會說原因
作者: oToToT (屁孩)   2014-08-18 22:54:00
他有說原因...但說啥我沒用到權限

Links booklink

Contact Us: admin [ a t ] ucptt.com