public MessengerController(IQueue queue) { this._queue = queue; // quiz = Quiz.FromJson(Startup.Questions); this.graph = new GraphApi(); Console.WriteLine("Initiated"); }
public static FacebookPost GetFacebookPost(string postId = "146505212039213_2464275336928844", string accesstoken = "EAACEdEose0cBACdtZB9WceN0NZAXJy6ZAERvZAIFWYEL2cZCFPdZBAS7OaZAEF2lx6lp4cNZB987c9rNhrSyZAdFZAj7eTamfSPROPZBy0XWnhJaZBoUKZBVUwgFAkd3wOIK7myy3hjEyGg0ZBuobdnobsiGfpJZBxm5ztRwqSXonyFtoxxTQZDZD") { try { var facebookpost = new FacebookPost(); var facebookCommentserror = new FacebookError(); var graphapi = new GraphApi(accesstoken); var graphapiurl = graphapi.PostsUrl(postId); var res = new GraphApiResponse(); var response = res.GetResponse(graphapiurl); var serializer = new JavaScriptSerializer(); facebookpost = serializer.Deserialize <FacebookPost>(response); if (facebookpost == null) { facebookCommentserror = serializer.Deserialize <FacebookError>(response); if (facebookCommentserror.error != null) { // Login status or access token has expired, been revoked, or is otherwise invalid. Handle expired access tokens. // Access token has expired if (facebookCommentserror.error.code == "190" && facebookCommentserror.error.error_subcode == "463") { //Get new Access Token } } } return(facebookpost); } catch (Exception ex) { throw ex; } }
private async void AccessToken(FacebookOAuthResult obj) { GraphApi api = new GraphApi(obj.AccessToken); //Declaro los parametros que me traigo desde facebook id , name , birthday , email , picture FacebookUser user = await api.Explorer <FacebookUser>("/me?fields=id,name,birthday,email,picture{url}"); UsuarioJson User = await con.ConsultaExistenciaUsuario(user.id, user.id); if (User.Usuario == null) { // Si usuario es null entonces me registro JsonResponseInsert Result = await con.RegistraNuevoUsuario(user.id, user.id, user.name, user.email); //si el registro retorna null es porque no hay conexion if (Result.Transaccion != null) { if (Result.Transaccion.Operacion.Respuesta != "NO") { // si es distinto a NO se registro bien asi que lo envio a la pagina principal Aplicacion.App.Current.MainPage = new PaginaNavegadora(); } else { // si retorna NO es por bd (error o condicionales no cumplidas ) // popup error de registro } } else { //Pupup Error de Registro atravez de facebook } } else { //el usuario ya existe en BD y facebook ya valido password asi que le doy acceso Aplicacion.App.Current.MainPage = new PaginaNavegadora(); } }
private void DisplayFields(GraphApi graph, List <GraphApi.Query> queryList, string type) { if (queryList != null) { if (queryList.Count > 0) { EditorGUILayout.LabelField(type); } for (int i = 0; i < queryList.Count; i++) { EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); GraphApi.Query query = queryList[i]; query.name = EditorGUILayout.TextField($"{type} Name", query.name); string[] options = query.queryOptions.ToArray(); if (String.IsNullOrEmpty(query.returnType)) { index = EditorGUILayout.Popup(type, index, options); query.queryString = options[index]; EditorGUILayout.LabelField(options[index]); if (GUILayout.Button($"Confirm {type}")) { graph.GetQueryReturnType(query, options[index]); } if (GUILayout.Button("Delete")) { graph.DeleteQuery(queryList, i); } continue; } if (query.isComplete) { GUILayout.Label(query.query); if (query.fields.Count > 0) { if (GUILayout.Button($"Edit {type}")) { graph.EditQuery(query); } } if (GUILayout.Button("Delete")) { graph.DeleteQuery(queryList, i); } continue; } EditorGUILayout.LabelField(query.queryString, $"Return Type: {query.returnType}"); if (graph.CheckSubFields(query.returnType)) { if (GUILayout.Button("Create Field")) { graph.GetQueryReturnType(query, options[index]); graph.AddField(query, query.returnType); } } foreach (GraphApi.Field field in query.fields) { GUI.color = new Color(0.8f, 0.8f, 0.8f); string[] fieldOptions = field.possibleFields.Select((aField => aField.name)).ToArray(); EditorGUILayout.BeginHorizontal(); GUIStyle fieldStyle = EditorStyles.popup; fieldStyle.contentOffset = new Vector2(field.parentIndexes.Count * 20, 0); field.Index = EditorGUILayout.Popup(field.Index, fieldOptions, fieldStyle); GUI.color = Color.white; field.CheckSubFields(graph.schemaClass); if (field.hasSubField) { if (GUILayout.Button("Create Sub Field")) { graph.AddField(query, field.possibleFields[field.Index].type, field); break; } } if (GUILayout.Button("x", GUILayout.MaxWidth(20))) { int parentIndex = query.fields.FindIndex(aField => aField == field); query.fields.RemoveAll(afield => afield.parentIndexes.Contains(parentIndex)); query.fields.Remove(field); field.hasChanged = false; break; } EditorGUILayout.EndHorizontal(); if (field.hasChanged) { int parentIndex = query.fields.FindIndex(aField => aField == field); query.fields.RemoveAll(afield => afield.parentIndexes.Contains(parentIndex)); field.hasChanged = false; break; } } EditorGUILayout.Space(); EditorGUILayout.Space(); if (query.fields.Count > 0) { if (GUILayout.Button($"Preview {type}")) { query.CompleteQuery(); } } if (GUILayout.Button("Delete")) { graph.DeleteQuery(queryList, i); } } EditorGUILayout.Space(); } }
public override void OnInspectorGUI() { GraphApi graph = (GraphApi)target; GUIStyle style = new GUIStyle { fontSize = 15, alignment = TextAnchor.MiddleCenter }; EditorGUILayout.LabelField(graph.name, style); EditorGUILayout.Space(); graph.GetSchema(); if (GUILayout.Button("Reset")) { graph.DeleteAllQueries(); } EditorGUILayout.Space(); EditorGUILayout.Space(); graph.url = EditorGUILayout.TextField("Url", graph.url); if (GUILayout.Button("Introspect")) { graph.Introspect(); } if (graph.loading) { EditorGUILayout.LabelField("API is being introspected. Please wait..."); } EditorGUILayout.Space(); EditorGUILayout.Space(); if (graph.schemaClass == null) { return; } EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Create New Query")) { graph.CreateNewQuery(); } if (GUILayout.Button("Create New Mutation")) { graph.CreateNewMutation(); } if (GUILayout.Button("Create New Subscription")) { graph.CreateNewSubscription(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); EditorGUILayout.Space(); DisplayFields(graph, graph.queries, "Query"); DisplayFields(graph, graph.mutations, "Mutation"); DisplayFields(graph, graph.subscriptions, "Subscription"); EditorUtility.SetDirty(graph); }
public static List <FacebookComment> GetAllFacebookPostComments( string postId = "146505212039213_2464275336928844", string accesstoken = "EAACEdEose0cBACdtZB9WceN0NZAXJy6ZAERvZAIFWYEL2cZCFPdZBAS7OaZAEF2lx6lp4cNZB987c9rNhrSyZAdFZAj7eTamfSPROPZBy0XWnhJaZBoUKZBVUwgFAkd3wOIK7myy3hjEyGg0ZBuobdnobsiGfpJZBxm5ztRwqSXonyFtoxxTQZDZD") { var lstFacebookComments = new List <FacebookComment>(); var facebookCommentserror = new FacebookError(); var graphapi = new GraphApi(accesstoken); var graphapiurl = graphapi.PostComments(postId); var res = new GraphApiResponse(); var response = res.GetResponse(graphapiurl); var serializer = new JavaScriptSerializer(); try { var facebookCommentsDataset = serializer.Deserialize <FacebookComments>(response); if (facebookCommentsDataset.data == null) { facebookCommentserror = serializer.Deserialize <FacebookError>(response); if (facebookCommentserror.error != null) { // Login status or access token has expired, been revoked, or is otherwise invalid. Handle expired access tokens. // Access token has expired if (facebookCommentserror.error.code == "190" && facebookCommentserror.error.error_subcode == "463") { //Get new Access Token } } } else { string next = null; do { if (facebookCommentsDataset.data != null) { lstFacebookComments.AddRange(facebookCommentsDataset.data); } if (facebookCommentsDataset.paging != null) { if (!string.IsNullOrEmpty(facebookCommentsDataset.paging.next)) { next = facebookCommentsDataset.paging.next; response = res.GetResponse(next); facebookCommentsDataset = serializer.Deserialize <FacebookComments>(response); if (facebookCommentsDataset.data == null) { facebookCommentserror = serializer.Deserialize <FacebookError>(response); if (facebookCommentserror.error != null) { // Login status or access token has expired, been revoked, or is otherwise invalid. Handle expired access tokens. // Access token has expired if (facebookCommentserror.error.code == "190" && facebookCommentserror.error.error_subcode == "463") { //Get new Access Token //than start from where left off } } break; } } else { next = null; } } } while (next != null); } return(lstFacebookComments); } catch (Exception ex) { throw ex; } }
public override void OnInspectorGUI() { GraphApi graph = (GraphApi)target; serializedObject.Update(); GUIStyle style = new GUIStyle { fontSize = 15, alignment = TextAnchor.MiddleCenter }; EditorGUILayout.LabelField(graph.name, style); EditorGUILayout.Space(); try { graph.GetSchema(); } catch (Exception e) { EditorGUILayout.HelpBox(string.Format("Failed to load Schema: {0}", e), MessageType.Error); } if (GUILayout.Button("Reset")) { graph.DeleteAllQueries(); } EditorGUILayout.Space(); EditorGUILayout.Space(); graph.authMiddlewareResourcePath = EditorGUILayout.TextField("Auth Middleware Resource", graph.authMiddlewareResourcePath); graph.url = EditorGUILayout.TextField("Url", graph.url); if (GUILayout.Button("Introspect")) { graph.Introspect(); } if (graph.loading) { EditorGUILayout.LabelField("API is being introspected. Please wait..."); } else if (graph.FailedIntrospecting) { EditorGUILayout.HelpBox("Failed Introspection", MessageType.Error); EditorGUILayout.HelpBox(graph.introspection, MessageType.None, true); } else { EditorGUILayout.Space(); EditorGUILayout.Space(); if (graph.schemaClass == null) { return; } EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Create New Query")) { graph.CreateNewQuery(); } if (GUILayout.Button("Create New Mutation")) { graph.CreateNewMutation(); } if (GUILayout.Button("Create New Subscription")) { graph.CreateNewSubscription(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); EditorGUILayout.Space(); DisplayFields(graph, graph.queries, "Query"); DisplayFields(graph, graph.mutations, "Mutation"); DisplayFields(graph, graph.subscriptions, "Subscription"); } EditorUtility.SetDirty(graph); }