我已经设置了由Jquery触发的共享弹出窗口.它可以工作,但我想使用响应值来成功触发AJAX调用,而Facebook只返回一个空数组.
这是javascript
$("#fb-request").click(function () { FB.ui({ method: 'share', name: 'Check out website', href: 'URL_TO_SHARE', }, function (response) { if (response && !response.error_code) { console.log(response); // Returns: [] } }); });
因此,我无法区分发帖人和使用取消按钮的人.我在这里错过了什么吗?或者Facebook应用程序上有什么设置?
谢谢,
我正在创建FBSDKShareLinkContent对象并将其提供给FBSDKShareDialog.我正在尝试将对话框的默认消息设置为"my highscore is%d!".共享本身正在工作,默认情况下有一条空消息.有人可以帮忙吗?
谢谢!
编辑:这是我的代码:
FBSDKShareLinkContent* content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = [NSURL URLWithString: @"https://itunes.apple.com/us/app/cylinder-game"];
content.contentTitle = @"Cylinder Game";
content.contentDescription = @"Cylinder Game is endless, rhythm based game with super addictive gameplay";
FBSDKShareDialog* dialog = [[FBSDKShareDialog alloc] init];
[dialog setMode:FBSDKShareDialogModeAutomatic];
[dialog setShareContent:content];
[dialog setDelegate:self];
[dialog setFromViewController:UnityGetGLViewController()];
Run Code Online (Sandbox Code Playgroud) 我的其中一个页面上有 og 标签:
%meta{property:"og:image", content:"https://stars-et-metiers.s3.amazonaws.com/posters/attachments/000/000/990/large/rsz_sm_01_rvb.jpg?1478271329" }
%meta{property:"og:url", content: votes_url }
%meta{ property: 'og:description', content: "J’ai voté pour mon lauréat coup de ? Stars & Métiers 2016 ! Et vous, quel est votre coup de cœur ? avec lien minimisé vers la page lauréat du site" }
Run Code Online (Sandbox Code Playgroud)
这个想法是告诉 facebook 实际上检查来自另一个页面的 ogs 以创建丰富的帖子:
%meta{property:"og:url", content: votes_url }
Run Code Online (Sandbox Code Playgroud)
因此 facebook 实际上应该从 votes_url 路径中删除 ogs :
%meta{ property: 'og:title', content: "J’ai voté pour mon lauréat Stars et Metiers" }
/ %meta{ property: 'og:url', content: …
Run Code Online (Sandbox Code Playgroud) 我正在使用Facebook的ShareDialog,以便在我的应用程序内分享facebook上的printScreen图像.
安装Facebook应用程序时,它可以正常工作.
未安装Facebook应用程序时,它不起作用.我看到"加载"屏幕,然后它消失了,没有任何反应.共享对话框对象使用FacebookException到达onError回调:
{FacebookGraphResponseException: (#200) Requires extended permission: publish_actions httpResponseCode: 403, facebookErrorCode: 200, facebookErrorType: OAuthException, message: (#200) Requires extended permission: publish_actions}
Run Code Online (Sandbox Code Playgroud)
那么我真的只需要facebook.com的"publish_actions"权限而不是Facebook应用吗?奇怪的..
Facebook writes:
Run Code Online (Sandbox Code Playgroud)
https://developers.facebook.com/docs/sharing/android
"If the Facebook app is not installed it will automatically fallback to the web-based dialog"
"Now the SDK automatically checks for the native Facebook app. If it isn't installed, the SDK switches people to their default browser and opens the Feed Dialog."
Run Code Online (Sandbox Code Playgroud)
我的代码:
mShareDialog = new ShareDialog(mActivity);
mShareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void …
Run Code Online (Sandbox Code Playgroud) android facebook-sharer facebook-graph-api publish-actions facebook-share
我已经为FBSDKShareLinkContent设置了内容,并设置了每个param contentURL,contentTitle,contentDescription,imageURL.
当共享对话框加载到facebook本机应用程序时,它正确填充了我的参数.
但是,一旦我在Facebook上查看帖子,就不再显示参数数据,而是帖子标题来自contentURL的元数据.
如何使用contentDescription和contentTitle覆盖元数据?谢谢!
// Assemble Content
var content: FBSDKShareLinkContent = FBSDKShareLinkContent()
content.contentURL = NSURL(string: DOWNLOAD_LINK_APPSTORE)
content.contentTitle = "My Custom Title"
content.contentDescription = "My Custom Description"
content.imageURL = NSURL(string: FB_IMAGE_LINK)
// Share Dialog
FBSDKShareDialog.showFromViewController(self, withContent: content, delegate: nil)
Run Code Online (Sandbox Code Playgroud) 我正在Facebook Android sdk 4.6.0
通过Gradle 使用.
我试图根据Facebook指南上的分享配置Facebook后从移动目录上传视频,但我得到例外"ShareVideo必须引用设备上的视频",在sharedialog.show调用之后.通过对onError(FacebookException异常)的回调向我报告异常.
/**first checking if file exist than execute code, file exits and code execute but after executing callback with exception "Share Video must reference a video that is on the device" occurs
**/ private void shareOnFacebook() {
File dir = new File(Environment.getExternalStorageDirectory(),
"directory");
File video = new File(dir, "Video.mp4");
if (video.exists()) {//if video file exist
Uri videoFileUri = Uri.parse(video.getPath());
ShareVideo sv = new ShareVideo.Builder()
.setLocalUrl(videoFileUri)
.build();
ShareVideoContent content = new ShareVideoContent.Builder() …
Run Code Online (Sandbox Code Playgroud) android facebook facebook-sharer facebook-share facebook-exception
当玩家解锁徽章时,我正在努力实现分享到Facebook的成就.在facebook开发者控制台中使用对象浏览器创建了一个对象.我制作了动作类型和对象类型并制作了一个自定义故事.现在我被困在试图分享到Facebook的故事.facebook提供的文件不足.甚至facebook提供的示例代码也使用v3.x.
facebook给出的示例代码如下.无法找到任何好的文档.
对象代码
Bundle params = new Bundle();
Request request = new Request(
Session.getActiveSession(),
"me/objects/enguru_app:badge",
params,
HttpMethod.POST
);
Response response = request.executeAndWait();
// handle the response
Run Code Online (Sandbox Code Playgroud)
行动守则
Bundle params = new Bundle();
params.putString("badge", "http://samples.ogp.me/1114467558579559");
Request request = new Request(
Session.getActiveSession(),
"me/enguru_app:unlocked",
params,
HttpMethod.POST
);
Response response = request.executeAndWait();
// handle the response
Run Code Online (Sandbox Code Playgroud) android facebook-graph-api facebook-android-sdk facebook-opengraph facebook-share
我正在尝试上传base64图像并设置消息,标题和标题,这似乎不起作用,基本上发生的情况是该图像已上传,但其余参数被忽略。有什么帮助吗?
这是代码的一部分
const shareOptions = {
title: "React Native",
message: "Hola mundo",
url: result,
subject: "Share Link"
}
....
Share.open(shareOptions)
Run Code Online (Sandbox Code Playgroud)
我也试图分享到电子邮件结束消息和标题被填充。Facebook有一些限制吗?
下载最新的Facebook SDK并按照文档:
FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = [NSURL URLWithString:@"http://developers.facebook.com"];
[FBSDKShareDialog shareFromViewController:self
withContent:content
delegate:nil];
Run Code Online (Sandbox Code Playgroud)
但是有一个问题,没有shareFromViewController方法!只有showFromViewController方法,它不能做共享作业,共享方法在哪里?
我Facebbok
在我的应用程序中使用共享,我有一个listview
,在我的列表项中我有一个Button
,点击Button
我试图分享我的东西,但问题是我的代码工作正常,当我扩展我的课程与活动,但它不能使用Fragment
,以下是我的代码片段,任何帮助
TestFrag.java
public class TestFrag extends Fragment{
static CallbackManager callbackManager;
private static LoginManager manager;
ListView list;
Button btnPost;
Context context;
static Activity activity;
ArrayList prgmName;
public static int[] prgmImages = {R.drawable.ic_launcher, R.drawable.ic_launcher,
R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher,
R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher,
R.drawable.ic_launcher};
public static String[] prgmNameList = {"Let Us C", "c++", "JAVA", "Jsp",
"Microsoft .Net", "Android", "PHP", "Jquery", "JavaScript"};
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
FacebookSdk.sdkInitialize(getActivity());
View rootView …
Run Code Online (Sandbox Code Playgroud) ShareLinkContent代码
ShareLinkContent content = new ShareLinkContent.Builder()
.setContentUrl(Uri.parse(shareUrl))
.setContentTitle(shareTitle)
.build();
Run Code Online (Sandbox Code Playgroud)
分享我尝试过的对话代码
一种。使用共享对话框对象
ShareDialog dialog = new ShareDialog(this);
dialog.show(content, ShareDialog.Mode.AUTOMATIC); //tried other 4 modes too
Run Code Online (Sandbox Code Playgroud)
b。使用静态访问
ShareDialog.show(this, content);
Run Code Online (Sandbox Code Playgroud)
现在的问题是,它在所有常规电话(如摩托罗拉,三星,Pixel和Lenovo)中都能很好地运行。
但是相同的代码在Redmi设备中引起奇怪的行为。当我单击调用此代码的按钮时,将出现“键盘和共享”对话框,并停留在那里几毫秒,然后消失。
在处理MI设备中的Facebook对话框时,我应该做些特别的事情吗?
有一个创建自定义对话框的选项,但我想保留它作为最后一个选项。
编辑
Facebook“赞”按钮也发生了同样的情况。
这是Facebook喜欢按钮的代码
facebookLikeView.setObjectIdAndType("https://www.facebook.com/StartupScribble/", LikeView.ObjectType.PAGE);
Run Code Online (Sandbox Code Playgroud)
该代码在Redmi设备以外的大多数设备中也能完美运行。
我用 vuejs 创建了一个 SPA 应用程序。一切都很完美,直到我想在 Facebook 上分享动态内容。
经过研究,我发现当我为 facebook 爬虫填充元标记时,我需要另一个文件(在我的例子中是 php 文件)。在 htaccess 中,我试图检测到 Facebook 代理并重定向到特定文件以填充元标记。
这是我的.htaccess:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.html [NC,QSA]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Crawler
RewriteCond %{HTTP_USER_AGENT} (facebookexternalhit/[0-9]|Facebot|Twitterbot|Pinterest|Google.*snippet)
RewriteRule cars/carDetail(.*)$ http://website.api.com/v1.0/meta-tags$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
但不工作。当您尝试从https://developers.facebook.com/tools/debug/sharing/ url进行调试时:
http://website.com/cars/carDetail?id=48
Run Code Online (Sandbox Code Playgroud)
没有重定向到:
http://website.api.com/v1.0/meta-tags$1
Run Code Online (Sandbox Code Playgroud)
谢谢
facebook-share ×12
android ×6
facebook ×4
ios ×3
.htaccess ×1
fb.ui ×1
listview ×1
react-native ×1
redmi-device ×1
share ×1
swift ×1
vue.js ×1
web-crawler ×1