作者oToToT (屁孩)
看板Ajax
标题[问题] facebook分享图片
时间Fri Aug 15 18:32:00 2014
我想要将我网页中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
}
});
}
});
}
--
我还没说完呐~~ 够多了够多了,回家啦~!
\ /
○
︵ \○╱/|
. . ﹎ ﹍﹍ ╱ ̄﹚╱> (原PO被拖走了....)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.193.74.170
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Ajax/M.1408098728.A.2FF.html
1F:推 qwer820404: 我记得4/30之後的APP 使用额外权限要送审... 08/16 00:19
2F:→ qwer820404: 基本的三个 email public_profile user_friends 08/16 00:20
3F:→ qwer820404: 其他都要在APP的Status&Review下面 去submission 08/16 00:21
嗯哼...送审了,但怎麽不过啊,我已经按照他说的填啦...
Please explain how you are using publish_actions to enhance a person's in-app
experience:
中文:
这个APP能让使用者简单的做出专属於他们的神魔之塔卡片。而当做完时,可能他们会想要
将卡片跟他的朋友们炫耀,所以我觉得将卡片的图发布到Facebook是个不错的选择。
English:
This app is an easy way to let user make their own "Tower of Saviors" card,
when they got their own card maybe they'll want to show off to their friends,
so I think post the card image to their Facebook is a good way.
Please provide step-by-step instructions so our review team can reproduce how
you are using publish_actions in your app.
1. Go to http://ototot.github.io/ToS_Card/.
2. Make your own card.
2. Click the "分享至FB" button.
3. Enter what you want to post
4. Click the "分享" button.
5. Accept the "publish_actions" permission.
The card is published on your timeline.
To add a photo of the card you want to have:
1. Click the middle of card.
2. Select a photo.
※ 编辑: oToToT (123.193.74.170), 08/16/2014 13:32:00
4F:推 hit1205: 审核期要三天,而且他会告诉你结果 @@ (如果失败也会说 08/17 22:07
5F:→ hit1205: 原因 08/17 22:07
6F:→ oToToT: 他有说原因...但说啥我没用到权限 08/18 22:54