Ошибка безопасности при сохранении данных в Azure с помощью приложения для Android

Видимо дело в безопасности, но скачанный с сайта пример работает корректно (ToDo), у меня приложение проще, не работает, так как действительно не понимаю, проверил библиотеки, манифест, код, вроде все правильно . Что я делаю не так? У меня был открытый вопрос по этой проблеме ранее, но теперь я думаю, что могу лучше всего описать проблему

Ошибка: неавторизованный

Полная ошибка: ошибка в действии com.microsoft.windowsazure.mobileservices.MobileServiceException: ошибка при обработке запроса. на com.microsoft.windowsazure.mobileservices.MobileServiceConnection$1.onNext на com.microsoft.windowsazure.mobileservices.MobileServiceClient$4.handleRequest на com.microsoft.windowsazure.mobileservices.MobileServiceConnection.start на com.microsoft.windowsazure.mobileservices.RequestAsyncTask.doInBackground на com.microsoft.windowsazure.mobileservices.RequestAsyncTask.doInBackground на android.os.AsyncTask$2.вызов на java.util.concurrent.FutureTask$Sync.innerRun на java.util.concurrent.FutureTask.run на android.os.AsyncTask$ SerialExecutor$1.run в java.util.concurrent.ThreadPoolExecutor.runWorker в java.util.concurrent.ThreadPoolExecutor$Worker.run в java.lang.Thread.run Вызвано: com.microsoft.windowsazure.mobileservices.MobileServiceException: code": 401, «ошибка»: «Ошибка: неавторизовано»} на com.microsoft.windowsazure.mobileservices.MobileServiceConnection$1.onNext

Мой код для загрузки: https://skydrive.live.com/embed?cid=3CF3FC770FC59E9B&resid=3CF3FC770FC59E9B!1277&authkey=ADQMeBtUVTTIjtE%22

package com.bn7.rota;
import java.net.MalformedURLException;

import com.bn7.rota.Item;
import com.microsoft.windowsazure.mobileservices.*;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;

public class MainActivity extends Activity {
    private MobileServiceClient mClient;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        try {
             mClient = new MobileServiceClient( 
                    "https://bn7.azure-mobile.net/", 
                    "hCzcrsFYhkGmxPvQDNxyqBXjZwjXlK99", 
                    this 
                    );
            Item item = new Item(); 
            item.IdPhone = "Awesome item"; 
            item.DateTimePhone = "2013/04/02 08:27:32"; 
            item.LatitudePhone = -43; 
            item.LongetudePhone = -23; 
            item.Active = false; 
            mClient.getTable(Item.class).insert(item, new TableOperationCallback<Item>() {
                 public void onCompleted(Item entity, Exception exception, ServiceFilterResponse response) { 
                    if (exception == null) { 
                         // Insert succeeded 
                                            } else { 
                         // Insert failed
                        Log.d("Insert failed", "*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*");
                        Log.d("Insert failed", "Error in activity", exception);  
                        Log.d("Insert failed", "*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*");
                    } 
                 } 
            });
        } catch (MalformedURLException e) {
            Log.d("MalformedURLException", e.toString());
        }
}


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

}
package com.bn7.rota;

public class Item { 
    public int Id; 
    public String IdPhone;
    public String DateTimePhone;
    public double LatitudePhone;
    public double LongetudePhone;
    public boolean Active;
    }

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.bn7.rota"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="17" />
        <uses-permission android:name="android.permission.INTERNET" />
        <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.bn7.rota.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

person user2233296    schedule 03.04.2013    source источник


Ответы (2)


Несанкционированная ошибка, которую вы получаете, указывает на то, что у вас нет разрешения на выполнение операции с таблицей. Если разрешения вашей операции (на портале) установлены на «Любой, у кого есть ключ приложения», то вы отправляете неверный ключ приложения. Если для него установлено значение «Только аутентифицированные пользователи», для его работы вам необходимо быть аутентифицированным пользователем (с мобильным сервисом). Если для него установлено значение «Только сценарии и администраторы», вам нужно либо отправить свой главный ключ в заголовке, либо получить доступ к таблице из другого сценария.

person Chris    schedule 03.04.2013

Аутентификация/авторизация

Убедитесь, что аутентификация/авторизация отключена!

person Sivakumar Chellamuthu    schedule 07.06.2016