Exemplo n.º 1
0
        /// <summary>
        /// Update AccessToken and check Sheets.
        /// </summary>
        public void Refresh()
        {
            if (data == null)
            {
                return;
            }

            if (string.IsNullOrEmpty(OAuthClientId) || string.IsNullOrEmpty(OAuthClientSecret) || string.IsNullOrEmpty(RefreshToken) || string.IsNullOrEmpty(Id))
            {
                return;
            }
            EditorUtility.DisplayProgressBar("Refreshing SpreadSheet...", "", 0);
            try{
                var webRequest = data.GetWebRequest();
                Sheets      = EditorAPIUtility.GetSheetName(webRequest);
                AccessToken = webRequest.GetAccessToken();
            }catch (System.Exception ex) {
                Debug.LogError("GoogleSpreadSheetConfig Error: " + ex);
            }
            EditorUtility.ClearProgressBar();
        }
Exemplo n.º 2
0
        private void Header()
        {
            EditorGUILayout.BeginHorizontal();
            {
                Undo.IncrementCurrentGroup();
                UndoHelper.SpreadSheetUndo(data, UndoHelper.UNDO_SS_EDIT);
                GUILayout.Label("Name", GUILayout.Width(100));
                Name = EditorGUILayout.TextField(Name);
            }
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            {
                Undo.IncrementCurrentGroup();
                UndoHelper.SpreadSheetUndo(data, UndoHelper.UNDO_SS_EDIT);
                GUILayout.Label("SpreadSheet Id", GUILayout.Width(100));
                Id = EditorGUILayout.TextField(Id);
            }
            EditorGUILayout.EndHorizontal();

            GUILayout.Space(5);

            EditorGUILayout.BeginHorizontal();
            {
                var usetoken = GUILayout.Toggle(UseDefaultAccessToken, "Use Default OAuth Config");
                if (usetoken != UseDefaultAccessToken)
                {
                    Undo.IncrementCurrentGroup();
                    UndoHelper.SpreadSheetUndo(data, UndoHelper.UNDO_SS_EDIT);
                    if (usetoken)
                    {
                        OAuthClientId     = GoogleAPIOAuthEditorConfig.Instance.OAuthClientId;
                        OAuthClientSecret = GoogleAPIOAuthEditorConfig.Instance.OAuthClientSecret;
                        RefreshToken      = GoogleAPIOAuthEditorConfig.Instance.RefreshToken;
                    }
                    UseDefaultAccessToken = usetoken;
                }
            }
            EditorGUILayout.EndHorizontal();

            var defaultWidth = EditorGUIUtility.labelWidth;

            EditorGUIUtility.labelWidth = 100;
            if (!UseDefaultAccessToken)
            {
                OAuthClientId     = EditorGUILayout.TextField("ClientID", OAuthClientId, GUIHelper.Styles.TextFieldWordWrap);
                OAuthClientSecret = EditorGUILayout.TextField("ClientSecret", OAuthClientSecret, GUIHelper.Styles.TextFieldWordWrap);
                RefreshToken      = EditorGUILayout.TextField("RefreshToken", RefreshToken, GUIHelper.Styles.TextFieldWordWrap);
                EditorGUILayout.BeginHorizontal();
                {
                    GUILayout.FlexibleSpace();
                    if (GUILayout.Button("Check Config", new GUILayoutOption[] { GUILayout.Width(120), GUILayout.Height(20) }))
                    {
                        try {
                            EditorUtility.DisplayProgressBar("Spread Sheet Converter", "Checking Config...", 0f);
                            var webRequest = data.GetWebRequest();
                            Sheets = EditorAPIUtility.GetSheetName(webRequest);
                            EditorUtility.DisplayDialog("Spread Sheet Converter", "The setting is correct.", "ok");
                            AccessToken = webRequest.GetAccessToken();
                        } catch (Exception ex) {
                            Debug.LogError("SpreadSheetConfig Error: " + ex);
                        }
                        EditorUtility.ClearProgressBar();
                    }
                }
                EditorGUILayout.EndHorizontal();
            }
            EditorGUIUtility.labelWidth = defaultWidth;
        }