在我的项目中,我和facebook提供商有一些奇怪的问题(Laravel 5.2);
Undefined variable: access_token vendor/laravel/socialite/src/Two/FacebookProvider.php 80
Run Code Online (Sandbox Code Playgroud)
这很奇怪,因为它工作很长时间,现在我有错误.我的代码没有任何改变.
public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
{
var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
if (loginInfo == null) { return RedirectToAction("Login"); }
// Sign in the user with this external login provider if the user already has a login
var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false);
Run Code Online (Sandbox Code Playgroud)
所以在我的ExternalLoginCallback方法AuthenticationManager.GetExternalLoginInfoAsync()中工作得很好,然后突然几天前它不再做任何事情并返回NULL,导致整个"注册Facebook"进程被跳过,将用户重定向到登录页面.
我有一个单独的ASP.NET MVC5项目,我只是用Facebook Graph API来玩,当我回到它时(我在2周前离开它,注册/登录Facebook在这个项目上工作得很好)它有同样的问题,它返回null!将用户重定向到登录页面.
有可能我的Facebook应用程序有什么东西吗?或他们的API?我没有通过应用程序审查3次(在代码中有一些问题),把它放回到开发模式试图解决它现在它甚至没有达到上一个问题,它停在AuthenticationManager.GetExternalLoginInfoAsync()那里我无法理解什么是去因为我上周没有这个问题.
这是ExternalLogin方法:
public ActionResult ExternalLogin(string provider, string returnUrl)
{
ControllerContext.HttpContext.Session.RemoveAll();
return new ChallengeResult(provider, Url.Action("ExternalLoginCallback", "Account", new { ReturnUrl = returnUrl }));
}
Run Code Online (Sandbox Code Playgroud)
我添加ControllerContext.HttpContext.Session.RemoveAll();了一个建议,我在stackoverflow上找到了它,但似乎没有做任何事情.
我可以为链接设置自定义图片和标题.现在v2.9是不可能的.有没有指定og:标签的某种解决方法.
使用Facebook Graph v2.8时,您可以发布链接并显示自定义图像,而不是"og:image".这是通过将图片参数添加到钩子来完成的.
https://graph.facebook.com/v2.9/me/feed?link=https%3A%2F%2Fwww.google.com%2F&picture=https%3A%2F%2Fi.ytimg.com%2Fvi%2FtntOCGkgt98%2Fmaxresdefault.jpg&name=test&message=this%20is%20a%20test&access_token=**********
Run Code Online (Sandbox Code Playgroud)
图形API是2.9,根据文档,这仍然应该工作Facebook API文档
但是,它会被刮下的图像覆盖.是否有其他人遇到此问题或有解决方法.?Facebook API Explorer
我有一个工作web graphql查询:
{
me{
... on Student{
profile {
fullName
emailId
mobileNumber
civilId
address
city
state
country
zipCode
userProfilePic
userCategory
createdAt
updatedAt
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
它返回特定学生的个人资料详细信息.我使用变异记录并获取用户的令牌.
我想创建一个graphql文件(例如StudentProfile.graphql),以便使用Apollo客户端进行获取请求(类似于http.get).
我提出此请求以获取graphql查询.
func fetchStudentProfileDetails(){
let tokenString = "Bearer " + "....my token ..."
print(tokenString)
let newApollo: ApolloClient = {
let configuration = URLSessionConfiguration.default
// Add additional headers as needed
configuration.httpAdditionalHeaders = ["Authorization": tokenString]
let url = URL(string: "http://52.88.217.19/graphql")!
return ApolloClient(networkTransport: HTTPNetworkTransport(url: url, configuration: configuration))
}()
newApollo.fetch(query: StudentProfileQuery()) { (result, error) in
self.profileDetailsTextView.text = …Run Code Online (Sandbox Code Playgroud) 在上面的图形api版本2.7中,这适用于所有计数(总计,如评论):
https://graph.facebook.com/v2.7/?fields=id,share,og_object{engagement{count},likes.summary(true).limit(0),comments.limit(0).summary(true)}&id=<ad_url>&access_token=<access_token>
Run Code Online (Sandbox Code Playgroud)
但在图形api中,新版本2.10的份额被删除.
任何人都可以帮助我在图api新版本2.10中获得共享计数.
根据文档,已成功将配置发布到facebook API:
本地化:开发人员现在可以为您的机器人用户可能来自的每个本地提供多种语言(或完全不同的菜单)的文本.
这看起来像一些疯狂的bug.是否有一些工作要添加一个最简单的持久性菜单?
facebook facebook-graph-api messenger facebook-messenger facebook-messenger-bot
我们使用Facebook Graph API v2.9来运行"feed balancing"应用程序:喜欢你讨厌的内容
该应用程序运行从NodeJs服务器提供的React.
几个月前(2017年12月),我们做了一些更新,但我们最近发现该应用程序已停止运行,该应用程序正常运行.
经过调查,我发现当我点击以下终点时:
/me/picture?height=80&width=80
/me/picture
/{a-defined-user-id}/picture
Run Code Online (Sandbox Code Playgroud)
graph api在响应中返回以下错误:
{
"error": {
"code": 1,
"error_subcode": 1357046,
"message": "Received Invalid JSON reply.",
"type": "http"
}
}
Run Code Online (Sandbox Code Playgroud)
其他端点,例如:
/me
/me/likes
/me/likes?limit=1000
Run Code Online (Sandbox Code Playgroud)
按预期返回JSON对象.
我已经使用Graph API Explorer来命中/me/picture端点,我得到了一个看似有效的JSON响应.
所以它似乎与SDK代码有关.我们正在使用Javascript SDK并将其安装在我们的应用程序中:
window.fbAsyncInit = function() {
window.FB.init({
appId : fbAppId,
xfbml : true,
version : 'v2.9',
cookie : true
});
window.FB.AppEvents.logPageView();
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); …Run Code Online (Sandbox Code Playgroud) 我刚刚更新了手机iOS11.3和Xcode 9.3,facebook登录就像我的旧SDK调用一样崩溃:
https://pasteboard.co/HeeRDVo.png
我不明白这究竟是什么意思,即使它适用于旧版本.然后我从该页面应用了Swift SDK, https://developers.facebook.com/docs/swift/graph.
import FacebookCore
let connection = GraphRequestConnection()
connection.add(GraphRequest(graphPath: "/me")) { httpResponse, result in
switch result {
case .success(let response):
print("Graph Request Succeeded: \(response)")
case .failed(let error):
print("Graph Request Failed: \(error)")
}
}
connection.start()
Run Code Online (Sandbox Code Playgroud)
这给出了以下错误日志:
FBSDKLog: starting with Graph API v2.4, GET requests for //me should contain an explicit "fields" parameter
Graph Request Failed: Error Domain=com.facebook.sdk.core Code=8 "(null)" UserInfo={com.facebook.sdk:FBSDKGraphRequestErrorCategoryKey=0, com.facebook.sdk:FBSDKGraphRequestErrorHTTPStatusCodeKey=400, com.facebook.sdk:FBSDKErrorDeveloperMessageKey=An active access token must be used to query information about the current user., …Run Code Online (Sandbox Code Playgroud) 尝试使用"测试用户"登录后创建"测试Facebook页面"会出错:
"This content is no longer available"
Run Code Online (Sandbox Code Playgroud)
我试图在我现有的页面中给我的测试用户"管理员角色",但这似乎不起作用,因此尝试使用"测试用户"手动创建"测试页面"给了我这个错误.
我正在尝试使用Instagram Business Discovery API从某个公共页面获取发布统计信息.
以Bath and Body Works(https://www.instagram.com/bathandbodyworks)为例.
GET graph.facebook.com
17895695668004550?fields=business_discovery.username(bathandbodyworks){followers_count,media_count,media{timestamp,like_count,comments_count}}
Run Code Online (Sandbox Code Playgroud)
这会给我以下回应:
{
"business_discovery": {
"followers_count": 3526159,
"media_count": 3536,
"media": {
"data": [
{
"timestamp": "2018-05-16T20:00:54+0000",
"like_count": 28925,
"comments_count": 530,
"id": "17917935010179826"
},
(24 posts data omitted...)
"paging": {
"cursors": {
"after": "QVFIUlBNak5fNTc3eThl..." (a very long string)
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在,这只给了我最近的25个帖子,我相信这是Facebook设置的每个请求的限制.
如果我想加载下25个帖子,我该怎么办?
在YouTube Data API中,每个请求的限制为50,但提供"nextPageToken"以加载下一个50帖子.我认为这是同样的情况吗?
我也发现了这个Facebook的API文档,也许我可以添加一个字符串指针,如:&after=QVFIUlBNak5fNTc3eThl...,
但这不起作用.
任何建议将不胜感激,谢谢!